summaryrefslogtreecommitdiff
path: root/kern/sref.h
AgeCommit message (Collapse)Author
2019-08-16Document the scalable reference counter APIRichard Braun
2019-05-19kern/sref: reworkRichard Braun
Remove CPU registration, optimize manager weak-ups, replace the global review queue with local review queues. CPU registration and the global review queue were motivated by low power consumption, but considering how the kernel is evolving, this was likely overengineering.
2019-01-17Replace "awaken" with "awoken"Richard Braun
See https://www.merriam-webster.com/words-at-play/usage-awaken-awoken-awakened.
2018-02-24New errno.h standard headerRichard Braun
Use standard errno codes. This change also adds strerror to string.h.
2018-02-24Don't use reserved identifiersRichard Braun
2018-02-20Rework the initialization operations of some kernel modulesRichard Braun
In order to avoid workarounds that check whether a module is ready or not, break the initialization of some core modules into a bootstrap step for basic BSP initialization, and a setup step that completes initialization. Most users only need the bootstrap operation as a dependency, especially since scheduling isn't enabled yet.
2018-02-12kern/sref: declare the sref_setup init operationRichard Braun
2018-02-07kern/sref: allow custom initial valuesRichard Braun
2018-02-07kern/sref: allow usage from interrupt contextRichard Braun
2018-01-10kern/sref: rework delta cache synchronizationRichard Braun
Instead of using a mutex, disable preemption when accessing a delta cache, but reenable it when flushing a cache to keep latencies low.
2017-07-13Switch to initialization operationsRichard Braun
2017-01-25kern/sref: implement weak referencesRichard Braun
2014-09-25kern/sref: don't inline sref_counter_initRichard Braun
2014-09-20kern/sref: new moduleRichard Braun
This module provides multiprocessor scalable reference counters, based on Refcache, as described in the RadixVM paper.