public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Make signalling routines ISR-safe?
@ 2004-04-29 12:41 Heiko Panther
  0 siblings, 0 replies; only message in thread
From: Heiko Panther @ 2004-04-29 12:41 UTC (permalink / raw)
  To: ecos-discuss

One thing that became more and more annoying to me in recent time is that you have to call routines that can trigger a rescheduling (like cyg_semaphore_post) from DSR context. This is all nice when you got a small system and you can easily track what's happened in the ISR.

Since I have compatibility layers on top of eCos kernel, to provide an OS abstraction for other software librarys, it's not that easy for me. For example, I have to keep all semaphores that need posting in a linked list to post them later. Plus, some semaphores need to be posted from ISR/DSC context as well as from thread context. So I have to have a global telling me what context I'm in, because I don't want to wait for DSR when I'm in thread context. All said, it's rather painful.

What I was wondering about: What were your considerations to not make these routines ISR-safe? One thing I see might be a smaller interrupt latency because only the scheduler is locked, but not the interrupts. Also it saves some cycles to not invoke the scheduler every interrupt.

Still, I would definitely be interested in (optional) ISR-safety of these routines, and could accept other tradeoffs.

Heiko

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-04-29  8:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-04-29 12:41 [ECOS] Make signalling routines ISR-safe? Heiko Panther

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).