summaryrefslogtreecommitdiff
path: root/kern/mutex.c
AgeCommit message (Collapse)Author
2018-01-16Clean up init op dependencies between syscnt and mutexRichard Braun
2017-08-31Add debugging code to the mutex modulesRichard Braun
2017-07-21Merge branch 'adaptive_spinning'Richard Braun
2017-07-21Rework mutex implementation selectionAgustina Arzille
2017-07-13Switch to initialization operationsRichard Braun
2017-05-09Replace sequential consistency with more efficient ordersAgustina Arzille
2017-04-04Use the new atomic operations interfaceAgustina 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-17kern/sleepq: also disable interrupts during critical sectionsRichard Braun
2017-03-17kern/{condition,mutex}: include stdbool.hRichard Braun
2017-03-04kern/mutex: implement the --enable-mutex-pi optionRichard Braun
This option turns all regular mutexes into real-time mutexes.
2017-03-04kern/{condition,mutex}: reimplement on top of sleep queuesRichard Braun
2017-02-04kern/types: split into module-specific type headersRichard Braun
Using a single header for all types causing inclusion circular dependencies isn't very elegant and doesn't scale.
2014-06-18kern/thread: add thread_joinRichard Braun
This change affects more files than it apparently would at first glance. This is because circular dependencies can easily be created between the thread, mutex, condition and spinlock modules. As a result, some of the types of these modules are now defined in kern/types.h.
2014-01-03Update calls to atomic operationsRichard Braun
Make spin locks and mutexes encode their state on an int rather than a long.
2013-04-14kern/{condition,mutex}: refactor common codeRichard Braun
The condition module intrusively uses mutexes. Augment the interface of the mutex module so that mutexes and conditions share common code. As a side effect, the implementation should have gained in clarity.
2013-04-14kern/condition: new moduleRichard Braun
2013-04-08kern/mutex: new moduleRichard Braun
As the name implies, this module provides sleepable mutual exclusion locks.