summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-19kern/thread: fix typoHEADmasterRichard Braun
2019-08-16kern/thread: rename thread_boot_barrierRichard Braun
2019-08-16x86/latomic: fix latomic_x86_enter and latomic_x86_leaveRichard 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-08vm/vm_map: fix vm_map_infoRichard 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-19test/test_sref_noref: fix naming, reduce number of loopsRichard 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-17test/test_sleepq_broadcast: new moduleRichard Braun
2019-01-10test/test_semaphore: new moduleRichard Braun
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-12x86/boot: work around an SMP-related warningRichard Braun
2018-11-12kern/rdxtree: fix warning when assertions are disabledRichard Braun
2018-11-12tools/build_configs.py: update compiler-related option namesRichard Braun
Commit a18a9d0cc0232dc151cef3d2d61807182ef7f6ea renamed options related to the compiler, but the configuration checking script was not updated with the new names. Fix that now.
2018-11-05kern/thread: implement suspend/resume operationsAgustina Arzille
2018-09-28Makefile: explain the purpose of sorting initialization operationsRichard Braun
2018-09-02.gitignore: add intermediate xml asciidoc filesRichard Braun
2018-08-14tools/build_configs.py: generate the test set dynamicallyRichard Braun
2018-08-12kern/thread: make thread-specific data optionalRichard Braun
2018-08-12kern/mutex/mutex_plain: fix macro namesRichard Braun
2018-08-12kern/rcu: explain the need for separate work/reader window flipsRichard Braun
2018-08-04x86/cpu: fix data/stack alignmentRichard Braun
2018-08-04x86/cpu: improve low level code clarityRichard Braun
Replace magic numbers with macros isolating the computation of offsets in exception frames. The latter are reworked as arrays of words.
2018-07-31kern/rcu: add TODO entryRichard Braun
2018-07-30x86: use the uart0 console when testing with QEMURichard Braun
The UART console allows using a bigger screen as well as easy copy/pasting the output.
2018-07-30x86/strace: align symbol names in backtracesRichard Braun