From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6805 invoked by alias); 9 Feb 2012 09:40:21 -0000 Received: (qmail 6789 invoked by uid 22791); 9 Feb 2012 09:40:19 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Feb 2012 09:40:03 +0000 Received: by mail.ecoscentric.com (Postfix, from userid 48) id 678112F78008; Thu, 9 Feb 2012 09:40:02 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: unassigned@bugs.ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: bernard.fouche@kuantic.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Thu, 09 Feb 2012 09:40:00 -0000 Message-Id: <20120209093954.918902F78001@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org X-SW-Source: 2012/txt/msg00239.txt.bz2 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=3D1001456 --- Comment #4 from Bernard Fouch=C3=A9 2012-0= 2-09 09:39:50 GMT --- Created an attachment (id=3D1570) --> (http://bugs.ecos.sourceware.org/attachment.cgi?id=3D1570) logic analyzer trace showing that interrupt_clear_pending() is badly needed= for Cortex-M core --=20 Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=3Demail ------- You are receiving this mail because: ------- You are the assignee for the bug. >>From ecos-bugs-return-8809-listarch-ecos-bugs=sources.redhat.com@sourceware.org Thu Feb 09 09:40:21 2012 Return-Path: Delivered-To: listarch-ecos-bugs@sources.redhat.com Received: (qmail 6797 invoked by alias); 9 Feb 2012 09:40:20 -0000 Received: (qmail 6788 invoked by uid 22791); 9 Feb 2012 09:40:19 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Feb 2012 09:40:03 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 7A5462F78006 for ; Thu, 9 Feb 2012 09:40:02 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ryf6XT3XlkjS; Thu, 9 Feb 2012 09:39:55 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-bugs@ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: bernard.fouche@kuantic.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Thu, 09 Feb 2012 09:40:00 -0000 Message-Id: <20120209093954.BCCD52F78004@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org Delivered-To: mailing list ecos-bugs@sourceware.org X-SW-Source: 2012/txt/msg00238.txt.bz2 Content-length: 595 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=3D1001456 --- Comment #4 from Bernard Fouch=C3=A9 2012-0= 2-09 09:39:50 GMT --- Created an attachment (id=3D1570) --> (http://bugs.ecos.sourceware.org/attachment.cgi?id=3D1570) logic analyzer trace showing that interrupt_clear_pending() is badly needed= for Cortex-M core --=20 Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=3Demail ------- You are receiving this mail because: ------- You are on the CC list for the bug. >>From ecos-bugs-return-8811-listarch-ecos-bugs=sources.redhat.com@sourceware.org Thu Feb 09 09:40:38 2012 Return-Path: Delivered-To: listarch-ecos-bugs@sources.redhat.com Received: (qmail 6970 invoked by alias); 9 Feb 2012 09:40:38 -0000 Received: (qmail 6958 invoked by uid 22791); 9 Feb 2012 09:40:37 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Feb 2012 09:40:24 +0000 Received: by mail.ecoscentric.com (Postfix, from userid 48) id ED6252F78001; Thu, 9 Feb 2012 09:40:22 +0000 (GMT) X-Original-To: unassigned@bugs.ecos.sourceware.org Delivered-To: unassigned@bugs.ecos.sourceware.org From: bugzilla-daemon@bugs.ecos.sourceware.org To: unassigned@bugs.ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: AssignedTo X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: bernard.fouche@kuantic.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Thu, 09 Feb 2012 09:40:00 -0000 Message-Id: <20120209094020.1E1C82F78001@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org Delivered-To: mailing list ecos-bugs@sourceware.org X-SW-Source: 2012/txt/msg00240.txt.bz2 Content-length: 2518 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=3D1001456 --- Comment #5 from Bernard Fouch=C3=A9 2012-0= 2-09 09:40:16 GMT --- Final demonstration done with a logic analyzer on a serial channel. The tra= ce has been done with the fix described in bug #1001480 otherwise the result is even worse. More exactly, I applied the fix but I removed a call to interrupt_clear_pending(). Trace description: - channel 0: ISR: a GPIO pin is set a low level when entering ISR, to a high level when ISR exits. - channel 1: a GPIO pin changes of state each time the DSR runs without doi= ng any processing. - channel 2: DSR: a GPIO pin is set a low level when entering DSR, to a high level when DSR exits. - channel 3: start_xmit: a GPIO pin is set a low level when entering start_xmit(), to a high level when start_xmit() exits. - the other channels show serial link activity (RTS/TX/RX/CTS) What the trace shows: - start_xmit() is called, the fix described in bug #1001480 makes this func= tion to first fill the TX FIFO before activating the TX interrupt. - 'A' is clocked out on the serial link. When it is nearly completely outpu= t, TX interrupt fires ISR. - ISR (first run) masks interrupt (so the interrupt is disabled), and return value tells eCos to post DSR. However the interrupt source hasn't been processed yet in the concerned peripheral, so the Cortex-M core raises the interrupt pending bit! - DSR is fired (first run). It sees that it was triggered because of a TX i= nt, however there is no more byte to output at that time. DSR unmask interrupts= but pending interrupts for that vector where not cleared: a new ISR is fired du= ring DSR execution. - ISR (second run) does as always: mask interrupt, post DSR. - Note that during the first DSR run, the 'flip/flop' reporting DSR running= for nothing wasn't toggled at this time: this is because the DSR did real work:= it processed the TX int. - as soon as DSR ends, because of the intermediary ISR that occurred while = DSR was running, DSR runs again (second run). - however there is nothing to do since latest ISR/DSR did the TX interrupt processing job: flip/flop pin shows that DSR did nothing. I don't have any feedback from any eCos maintainer... what's going on :-) ? --=20 Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=3Demail ------- You are receiving this mail because: ------- You are the assignee for the bug. >>From ecos-bugs-return-8812-listarch-ecos-bugs=sources.redhat.com@sourceware.org Thu Feb 09 09:40:39 2012 Return-Path: Delivered-To: listarch-ecos-bugs@sources.redhat.com Received: (qmail 6997 invoked by alias); 9 Feb 2012 09:40:38 -0000 Received: (qmail 6960 invoked by uid 22791); 9 Feb 2012 09:40:37 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Feb 2012 09:40:23 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 410DD2F78005 for ; Thu, 9 Feb 2012 09:40:22 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Yh8hLMNdGDRj; Thu, 9 Feb 2012 09:40:20 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-bugs@ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: bernard.fouche@kuantic.com X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Date: Thu, 09 Feb 2012 09:40:00 -0000 Message-Id: <20120209094020.48EE62F78004@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org Delivered-To: mailing list ecos-bugs@sourceware.org X-SW-Source: 2012/txt/msg00241.txt.bz2 Content-length: 2520 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=3D1001456 --- Comment #5 from Bernard Fouch=C3=A9 2012-0= 2-09 09:40:16 GMT --- Final demonstration done with a logic analyzer on a serial channel. The tra= ce has been done with the fix described in bug #1001480 otherwise the result is even worse. More exactly, I applied the fix but I removed a call to interrupt_clear_pending(). Trace description: - channel 0: ISR: a GPIO pin is set a low level when entering ISR, to a high level when ISR exits. - channel 1: a GPIO pin changes of state each time the DSR runs without doi= ng any processing. - channel 2: DSR: a GPIO pin is set a low level when entering DSR, to a high level when DSR exits. - channel 3: start_xmit: a GPIO pin is set a low level when entering start_xmit(), to a high level when start_xmit() exits. - the other channels show serial link activity (RTS/TX/RX/CTS) What the trace shows: - start_xmit() is called, the fix described in bug #1001480 makes this func= tion to first fill the TX FIFO before activating the TX interrupt. - 'A' is clocked out on the serial link. When it is nearly completely outpu= t, TX interrupt fires ISR. - ISR (first run) masks interrupt (so the interrupt is disabled), and return value tells eCos to post DSR. However the interrupt source hasn't been processed yet in the concerned peripheral, so the Cortex-M core raises the interrupt pending bit! - DSR is fired (first run). It sees that it was triggered because of a TX i= nt, however there is no more byte to output at that time. DSR unmask interrupts= but pending interrupts for that vector where not cleared: a new ISR is fired du= ring DSR execution. - ISR (second run) does as always: mask interrupt, post DSR. - Note that during the first DSR run, the 'flip/flop' reporting DSR running= for nothing wasn't toggled at this time: this is because the DSR did real work:= it processed the TX int. - as soon as DSR ends, because of the intermediary ISR that occurred while = DSR was running, DSR runs again (second run). - however there is nothing to do since latest ISR/DSR did the TX interrupt processing job: flip/flop pin shows that DSR did nothing. I don't have any feedback from any eCos maintainer... what's going on :-) ? --=20 Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=3Demail ------- You are receiving this mail because: ------- You are on the CC list for the bug. >>From ecos-bugs-return-8814-listarch-ecos-bugs=sources.redhat.com@sourceware.org Thu Feb 09 11:30:47 2012 Return-Path: Delivered-To: listarch-ecos-bugs@sources.redhat.com Received: (qmail 21275 invoked by alias); 9 Feb 2012 11:30:47 -0000 Received: (qmail 21256 invoked by uid 22791); 9 Feb 2012 11:30:46 -0000 X-SWARE-Spam-Status: No, hits=-1.9 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 09 Feb 2012 11:30:27 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id 3448C2F78001 for ; Thu, 9 Feb 2012 11:30:26 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id TcQdyJSpHJap; Thu, 9 Feb 2012 11:30:25 +0000 (GMT) From: bugzilla-daemon@bugs.ecos.sourceware.org To: ecos-bugs@ecos.sourceware.org Subject: [Bug 1001456] HAL misses Interrupt Clear-Pending Registers handling: wasted processing power X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: eCos X-Bugzilla-Component: HAL X-Bugzilla-Keywords: X-Bugzilla-Severity: major X-Bugzilla-Who: ilijak@siva.com.mk X-Bugzilla-Status: UNCONFIRMED X-Bugzilla-Priority: low X-Bugzilla-Assigned-To: unassigned@bugs.ecos.sourceware.org X-Bugzilla-Target-Milestone: --- X-Bugzilla-Changed-Fields: CC In-Reply-To: References: X-Bugzilla-URL: http://bugs.ecos.sourceware.org/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 Date: Thu, 09 Feb 2012 11:30:00 -0000 Message-Id: <20120209113024.5D0012F78005@mail.ecoscentric.com> Mailing-List: contact ecos-bugs-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-bugs-owner@sourceware.org Delivered-To: mailing list ecos-bugs@sourceware.org X-SW-Source: 2012/txt/msg00243.txt.bz2 Content-length: 925 Please do not reply to this email. Use the web interface provided at: http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001456 Ilija Kocho changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ilijak@siva.com.mk --- Comment #6 from Ilija Kocho 2012-02-09 11:30:20 GMT --- (In reply to comment #5) > I don't have any feedback from any eCos maintainer... what's going on :-) ? Hi Bernard I am following your posts, but I am little-bit busy so I can't respond. My plan is to try to reproduce your cases on Kinetis and compare. I hope to have more time following week. Ilija -- Configure bugmail: http://bugs.ecos.sourceware.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.