Menu

Commit [r126]  Maximize  Restore  History

Implemented Semaphore/Mutex/Event-flags based on the new kernel transaction queue. The kernel code is now fully deterministic in that all critical sections are fixed-time in duration (Complexity of O(1) - previously implementation contained O(n) Critical sections). There's a tradeoff - the code is slightly more complex and a bit slower, but we spend far less time with interrupts disabled in total. Determinism wins out here.

funkenstein.sw@gmail.com 2013-12-01

changed /trunk/embedded/kernel/atomic.cpp
changed /trunk/embedded/kernel/blocking.cpp
changed /trunk/embedded/kernel/eventflag.cpp
changed /trunk/embedded/kernel/ksemaphore.cpp
changed /trunk/embedded/kernel/mutex.cpp
changed /trunk/embedded/kernel/public/atomic.h
changed /trunk/embedded/kernel/public/eventflag.h
changed /trunk/embedded/kernel/public/ksemaphore.h
changed /trunk/embedded/kernel/public/mutex.h
changed /trunk/embedded/kernel/public/thread.h
changed /trunk/embedded/kernel/public/timerlist.h
changed /trunk/embedded/kernel/scheduler.cpp
changed /trunk/embedded/kernel/thread.cpp
/trunk/embedded/kernel/atomic.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/blocking.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/eventflag.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/ksemaphore.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/mutex.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/atomic.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/eventflag.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/ksemaphore.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/mutex.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/thread.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/public/timerlist.h Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/scheduler.cpp Diff Switch to side-by-side view
Loading...
/trunk/embedded/kernel/thread.cpp Diff Switch to side-by-side view
Loading...
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.