summaryrefslogtreecommitdiff
path: root/kern
AgeCommit message (Collapse)Author
2019-09-13Fix the documentation according to the memory modelmemory_model_devRichard Braun
Also, change the ordering requirements of some operations.
2019-08-20Add content to the memory man pageRichard Braun
2019-08-19Describe thread_sleep and thread_delayRichard Braun
2019-08-19Document thread_delayRichard Braun
2019-08-16Remove the barrier macroRichard Braun
2019-08-16Remove a mention of compiler barrierRichard Braun
2019-08-16Document and reimplement RCU read-side critical section primitivesRichard Braun
2019-08-16Remove useless commentRichard Braun
2019-08-16Replace some barrier()s with local atomic fencesRichard Braun
2019-08-16Reword and change the semantics of thread-local critical section primitivesRichard Braun
2019-08-16Reword RCU guaranteesRichard Braun
2019-08-16Improve the work API documentationRichard Braun
2019-08-16Improve the timer API documentationRichard Braun
2019-08-16Document the scalable reference counter APIRichard Braun
2019-08-16Document the work APIRichard Braun
2019-08-16Complete timer documentationRichard Braun
2019-08-16Document the timer APIRichard Braun
2019-08-16Document the mutex API, fix spin lock documentationRichard Braun
2019-08-16Finish spinlock documentationRichard Braun
2019-08-16First attempt, incompleteRichard Braun
2019-08-16kern/latomic: implement fences as atomic signal fencesRichard Braun
2019-07-11kern/types: add TODO entry about cpu_flags_tRichard Braun
2019-06-08kern/sref: remove left-over macroRichard Braun
2019-06-08kern/log: add printf-specific warnings to log_printf_fn_tRichard Braun
2019-06-08kern/sref: track epoch durationsRichard Braun
2019-06-05kern/sref: reduce minimum epoch durationRichard Braun
2019-05-29kern/sref: schedule noref works with a high priorityRichard Braun
2019-05-29kern/sref: fix when to process review queuesRichard Braun
2019-05-28kern/sref: add optional debuggingRichard Braun
2019-05-26kern/log: fix bulletin publicationRichard Braun
2019-05-22Add a log print function type for information reportingRichard Braun
This type allows the use of either printf-based or log-based functions when reporting information.
2019-05-19kern/{log,shell}: use a bulletin for initial log dump notificationRichard 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-05-05kern/log: fix log writesRichard Braun
Erase old messages when the message buffer gets full.
2019-05-05kern/timer: fix high priority work scheduling flagsRichard Braun
2019-04-24kern/log: rework with a message bufferRichard Braun
2019-04-24kern/mbuf: new moduleRichard Braun
2019-04-23New EMSGSIZE error codeRichard Braun
2019-01-25kern/log: fix overrun handlingRichard Braun
2019-01-17Replace "awaken" with "awoken"Richard Braun
See https://www.merriam-webster.com/words-at-play/usage-awaken-awoken-awakened.
2019-01-17kern/sleepq: fix wake-up chainingRichard Braun
Thanks to Simon Venken for reporting this issue.
2019-01-10kern/semaphore: reworkRichard Braun
The previous implementation, which uses a combination of fast and slow paths around accessing an atomic integer, suffers from a bug triggered when two or more posts are performed back-to-back, without a waiter decrementing the semaphore value in between. The first post would be the only one signalling a waiter. In addition, having a fast path that expects the absence of waiters probably doesn't make sense, as semaphores are expected to be used for signalling threads. As a result, it was decided to remove the fast path altogether, and protect the semaphore value with sleep queues. Finally, as part of the rework, semaphores now have a user-defined maximum value, in order to make the implementation of, e.g. wrappers for binary semaphores, convenient. Thanks to Simon Venken for reporting the bug.
2019-01-10kern/sleepq: update acquire/lend documentationRichard Braun
2019-01-10New EOVERFLOW error codeRichard Braun
2019-01-07kern/cbuf: update from upstreamRichard Braun
2018-11-21kern/turnstile: fix assertionRichard Braun
Commit 5f202c9f744a5d9c5b751038edd2379b3d244227 reworked the way some assertions were performed, and introduced a mistake in an assertion in the turnstile module.
2018-11-17kern/thread: fix suspend on dead threadsRichard Braun
2018-11-17kern/turnstile: improve commentsRichard Braun
2018-11-12kern/rdxtree: fix warning when assertions are disabledRichard Braun
2018-11-05kern/thread: implement suspend/resume operationsAgustina Arzille