Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-09-13 | Fix the documentation according to the memory modelmemory_model_dev | Richard Braun | |
Also, change the ordering requirements of some operations. | |||
2019-08-19 | Describe thread_sleep and thread_delay | Richard Braun | |
2019-08-19 | Document thread_delay | Richard Braun | |
2019-08-16 | Replace some barrier()s with local atomic fences | Richard Braun | |
2019-08-16 | Reword and change the semantics of thread-local critical section primitives | Richard Braun | |
2019-08-16 | First attempt, incomplete | Richard Braun | |
2019-01-17 | Replace "awaken" with "awoken" | Richard Braun | |
See https://www.merriam-webster.com/words-at-play/usage-awaken-awoken-awakened. | |||
2018-11-17 | kern/thread: fix suspend on dead threads | Richard Braun | |
2018-11-05 | kern/thread: implement suspend/resume operations | Agustina Arzille | |
2018-08-12 | kern/thread: make thread-specific data optional | Richard Braun | |
2018-07-07 | kern/thread: add thread name accessor | Richard Braun | |
2018-06-26 | kern/thread: update comment | Richard Braun | |
2018-06-25 | kern/perfmon: new module | Richard Braun | |
2018-06-25 | kern/thread: new thread_cpu function | Richard Braun | |
2018-06-25 | kern/thread: slightly rework thread state handling | Richard Braun | |
2018-05-14 | kern/thread: make thread_create slightly more convenient | Richard Braun | |
Don't require the caller to pass a pointer to the newly created thread. | |||
2018-04-21 | Fix atomic operations argument types | Richard Braun | |
In preparation of the rework of atomic operations, all atomic function calls are fixed to use fully supported, compatible types. This means that atomic operations ar erestricted to 32-bit and 64-bit, and that value types must be strictly compatible with pointer types. | |||
2018-04-19 | kern/atomic: remove shortcuts | Richard Braun | |
These shortcuts just don't bring enough value. | |||
2018-02-24 | New errno.h standard header | Richard Braun | |
Use standard errno codes. This change also adds strerror to string.h. | |||
2018-02-24 | Don't use reserved identifiers | Richard Braun | |
2018-02-20 | kern/llsync: remove module | Richard Braun | |
2018-02-20 | kern/rcu: new module | Richard Braun | |
This module implements preemptible RCU. | |||
2018-02-12 | kern/thread: minor changes | Richard Braun | |
Make thread_runq_schedule() slightly more resilient by setting the next thread pointer to NULL after the context switch. | |||
2018-01-30 | Fix condition variable broadcasting | Richard Braun | |
The broadcast implementation is based on an invalid assumption, namely that the first mutex_unlock call following condition_wait would be invoked on the same mutex. Fixing this while guarding against the thundering herd effect requires augmenting mutexes with a pointer to the condition variable they may be associated with. Since the size of mutexes is currently more important than broadcast scalability, the implementation is simplified into one which suffers from the thundering herd effect. | |||
2018-01-10 | kern/thread: minor name changes | Richard Braun | |
Call the various thread-local nesting counters "levels". | |||
2017-12-03 | Revert "Make assert have no side effects" | Richard Braun | |
This reverts commit d18d0e85596f90e0bd597b33d58209d0b3973c95. | |||
2017-09-21 | New build system | Richard Braun | |
The new build system, called xbuild, is a minimalistic kbuild-like make-based build system, also using kconfig for scalable configurations. | |||
2017-09-06 | Use new thread_check_intr_context function consistently | Richard Braun | |
2017-09-05 | kern/thread: new thread_get_tcb function | Richard Braun | |
2017-09-02 | kern/thread: new preemption control macros | Richard Braun | |
These new macros take care of disabling/restoring interrupts in the appropriate order. | |||
2017-09-02 | Make assert have no side effects | Richard Braun | |
This makes sure symbols referenced by assert uses may not be generated if unused. The recently introduced __unused macro is used to suppress compiler warnings resulting from this change. | |||
2017-08-27 | Add TODO entries | Richard Braun | |
2017-08-27 | kern/thread: add the thread_delay function | Richard Braun | |
2017-08-27 | kern/thread: implement timed sleeps | Richard Braun | |
2017-08-27 | kern/clock: new module | Richard Braun | |
2017-08-25 | kern/thread: don't trigger priority propagation on return from interrupt | Richard Braun | |
2017-08-23 | kern/thread: really fix termination | Richard Braun | |
Change the semantics of thread_join so that it not only waits for thread_exit but also for the last reference to be dropped. | |||
2017-07-21 | Merge branch 'adaptive_spinning' | Richard Braun | |
2017-07-21 | kern/mutex: new adaptive spinning mutex implementation | Agustina Arzille | |
2017-07-14 | Fix inclusions of kern/init.h when declaring init operations | Richard Braun | |
2017-07-13 | Switch to initialization operations | Richard Braun | |
2017-06-25 | Use the C11 alignas and noreturn macros | Richard Braun | |
2017-06-24 | Move the HZ macro to the kern/thread module | Richard Braun | |
2017-06-14 | x86: improve TCB load and context switch | Richard Braun | |
2017-06-03 | kern/thread: improve thread_wakeup robustness | Richard Braun | |
2017-05-30 | Move assert.h to the include directory | Richard Braun | |
This turns assert.h into a standard header. | |||
2017-05-16 | x86/trap: add interrupt stacks | Agustina Arzille | |
2017-05-09 | Replace sequential consistency with more efficient orders | Agustina Arzille | |
2017-04-04 | Use the new atomic operations interface | Agustina Arzille | |
Stick to a sequentially consistent model for most atomic operations as it matches the semantics of the existing code. Each call site will have to be reevaluated in order to switch to more relaxed accesses where possible. | |||
2017-03-19 | kern/thread: new thread_assert_interrupted function | Richard Braun | |