summaryrefslogtreecommitdiff
path: root/kern/work.c
AgeCommit message (Collapse)Author
2017-05-30Move assert.h to the include directoryRichard Braun
This turns assert.h into a standard header.
2017-04-29New stdio.h standard headerRichard Braun
Make kernel code obtain definitions for the printf family of functions through the inclusion of the standard stdio.h header.
2017-04-29kern/printk: rename to printfRichard Braun
The printk functions are close enough to the printf ones to bear the same names.
2017-03-16Update system counter namesRichard Braun
Now that event counters have been replaced with system counters, drop the convention of naming the counter as the event it tracks.
2017-03-15kern/work: move work_pool_init and work_setup to the .init sectionRichard Braun
2017-03-15kern/syscnt: replace the evcnt moduleRichard Braun
The syscnt module supports more generic counters, in addition to atomic access from any context on any architecture.
2017-03-14Use the X15 namespace consistently for macros defined by autoconfRichard Braun
2017-02-08kern/thread: add wait channelsRichard Braun
2017-02-04Clean up compilationRichard Braun
Instead of mixing standard headers and internal redefinitions of standard types, completely rely on the compiler for what is guaranteed for a free standing environment. This results in the removal of kern/stddef.h and kern/stdint.h. The kern/types.h header is reintroduced for the different (and saner) purpose of defining types not specified in standard C, namely ssize_t for now.
2017-01-29kern/thread: rename "time-sharing" to "fair-scheduling"Richard Braun
2017-01-24kern/thread: add the THREAD_KERNEL_PREFIX macroRichard Braun
This macro is used to build kernel thread names.
2016-12-09Force brackets around one-line conditional statementsRichard Braun
This change was done using astyle, with a few manual editing here and there.
2014-12-10kern/work: update call to kmem_cache_initRichard Braun
2014-09-05kern/work: use percpu variablesRichard Braun
2014-06-19kern/work: synchronously destroy worker threadsRichard Braun
2014-06-18Set threads as detached where applicableRichard Braun
2014-06-18kern/work: improve per-processor pools synchronizationRichard Braun
Rely on disabling preemption only instead of a spin lock when accessing per-processor pools.
2014-06-17kern/work: don't name work poolsRichard Braun
2014-06-17kern/work: per-processor work poolsRichard Braun
2014-06-07kern/work: add a comment backRichard Braun
That comment contains a TODO item that was removed by mistake.
2014-05-24kern/work: rework worker id allocationRichard Braun
Replace the radix tree with a bitmap and adjust ID allocation. The use of a radix tree was overkill for this, and initially intended only as an example of how to use the data structure in the kernel.
2014-04-26kern/work: use thread creation attributes accessorsRichard Braun
2014-01-02Declare variables as read mostly where appropriateRichard Braun
2013-07-05kern/work: update rdxtree calls for 64-bit keysRichard Braun
2013-06-10kern/work: fix radix tree usageRichard Braun
Radix tree operations must be done with preemption enabled since they might allocate memory. Use a separate mutex to synchronize access to the tree.
2013-06-09kern/work: use a radix tree for worker ID allocationRichard Braun
2013-06-03kern/work: new moduleRichard Braun
This module implements thread pools to concurrently process queues of deferred works.