From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12188 invoked by alias); 3 Jun 2005 08:48:22 -0000 Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Received: (qmail 12179 invoked by uid 22791); 3 Jun 2005 08:48:17 -0000 Received: from ns2.nec.com.au (HELO ns2.nec.com.au) (147.76.180.2) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 03 Jun 2005 08:48:17 +0000 Received: from deer.dd.nec.com.au (localhost.localdomain [127.0.0.1]) by smtp2.nec.com.au (8.12.8/8.12.8) with ESMTP id j538mETX030681 for ; Fri, 3 Jun 2005 18:48:14 +1000 Received: from dvalin.dd.nec.com.au ([172.31.20.70]) by deer.dd.nec.com.au (8.12.5/8.12.5/Debian-1) with ESMTP id j538mDl0029307 for ; Fri, 3 Jun 2005 18:48:14 +1000 Received: from dvalin.dd.nec.com.au (localhost [127.0.0.1]) by dvalin.dd.nec.com.au (8.12.3/8.12.3/Debian-5) with ESMTP id j538kj0T004397 for ; Fri, 3 Jun 2005 18:46:45 +1000 Received: (from erik@localhost) by dvalin.dd.nec.com.au (8.12.3/8.12.3/Debian-5) id j538ki10004395 for ecos-discuss@ecos.sourceware.org; Fri, 3 Jun 2005 18:46:44 +1000 From: Erik Christiansen Date: Fri, 03 Jun 2005 08:48:00 -0000 To: ecos-discuss@ecos.sourceware.org Message-ID: <20050603084643.GC716@dd.nec.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6+20040722i Subject: [ECOS] Disabling interrupts when locking the scheduler X-SW-Source: 2005-06/txt/msg00021.txt.bz2 The possibility of disabling interrupts when locking the scheduler seems built into the calling sequence: Cyg_Scheduler::lock() <-- Generates no code, anywhere. *1 inc_sched_lock() HAL_SMP_SCHEDLOCK_INC HAL_DISABLE_INTERRUPTS <-- Disables interrupts, if invoked. While ref/kernel-interrupts.html confirms that interrupts are normally not disabled, for improved interrupt latency, the code is there, if I can just figure out how to turn it on. It's not conditionals, but seems to be inheritance which causes Cyg_Scheduler::lock() to be excluded. Has anyone tried this before? (I'd prefer to enable the latent code, rather than just poke a HAL_DISABLE_INTERRUPTS in front of Cyg_Scheduler::lock() in 66 places, and repeat for enabling.) *1) No timeslicing, CYGSEM_HAL_USE_ROM_MONITOR == 1. Erik -- _,-_|\ Erik Christiansen Phone: +61 3 9264 3416 / \ Research & Development Division Fax: +61 3 9264 3438 \_,-.__/ Voice Products Department v NEC Business Solutions Pty. Ltd. www.necbs.com.au -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss