From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29614 invoked by alias); 19 Jul 2012 16:28:28 -0000 Received: (qmail 29603 invoked by uid 22791); 19 Jul 2012 16:28:26 -0000 X-SWARE-Spam-Status: No, hits=-5.2 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-wi0-f177.google.com (HELO mail-wi0-f177.google.com) (209.85.212.177) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 19 Jul 2012 16:28:13 +0000 Received: by wibhm11 with SMTP id hm11so2056187wib.12 for ; Thu, 19 Jul 2012 09:28:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.216.158.212 with SMTP id q62mr1555056wek.53.1342715291425; Thu, 19 Jul 2012 09:28:11 -0700 (PDT) Received: by 10.194.28.198 with HTTP; Thu, 19 Jul 2012 09:28:11 -0700 (PDT) In-Reply-To: <50082BCC.4020905@kuantic.com> References: <50082BCC.4020905@kuantic.com> Date: Thu, 19 Jul 2012 16:28:00 -0000 Message-ID: From: Alan Bowman To: =?ISO-8859-1?Q?Bernard_Fouch=E9?= Cc: ecos-discuss@ecos.sourceware.org Content-Type: text/plain; charset=ISO-8859-1 X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: Re: [ECOS] Interrupt stacking issues X-SW-Source: 2012-07/txt/msg00031.txt.bz2 > - I did a lengthly bug report describing all of this > (http://bugs.ecos.sourceware.org/show_bug.cgi?id=1001456). I submited a > patch to add into eCos kernel a supplementary call to handle the interrupt > pending bit problem, but it's stuck in bugzilla since February since it's a > kernel API change.. > > Hope it helps! Wow, that's a lot of detail to sort through - I'm going to have to think about that for a bit. On the face of it, we may well have that problem. However, I haven't worked out how that matches our symptoms. I thought that all of the ISRs (and the PendSV/DSR) could only run once at a time. If an ISR triggers the PendSV, it will be off the stack by the time PendSV runs. It can then pre-empt the PendSV exception (so both will appear on the stack at once), but only once. The PendSV exception bit may well be set again, but it will have to wait for the first one to finish (and presumably be off the stack) before running again. Lots of different ISRs could all pre-empt each other, but I don't _think_ that's what's happening. Did you see any issues like this when you were investigating, or was unnecessary ISR/DSR calls the key issue? Thanks very much Alan -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss