This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Disabling interrupts when locking the scheduler


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]