[ECOS] Disabling interrupts when locking the scheduler
Erik Christiansen
erik@dd.nec.com.au
Fri Jun 3 08:48:00 GMT 2005
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
More information about the Ecos-discuss
mailing list