summaryrefslogtreecommitdiff
path: root/kern/thread.c
AgeCommit message (Collapse)Author
2017-06-24Move the HZ macro to the kern/thread moduleRichard Braun
2017-06-24Move the DATA_ALIGN and TEXT_ALIGN macros to the x86/cpu moduleRichard Braun
2017-06-24Break STACK_SIZE macro into 3 different macrosRichard Braun
2017-06-24Make shell command descriptions consistentRichard Braun
2017-06-15kern/thread: prevent stack tracing running threads.Richard Braun
2017-06-14x86: improve TCB load and context switchRichard Braun
2017-06-11Make the diagnostics shell optionalRichard Braun
2017-06-10kern/shell: new SHELL_REGISTER_CMDS macroRichard Braun
2017-06-03kern/thread: improve thread_wakeup robustnessRichard Braun
2017-05-31kern/{task,thread}: add the task_info and thread_trace shell commandsRichard Braun
2017-05-30Move assert.h to the include directoryRichard Braun
This turns assert.h into a standard header.
2017-05-16x86/trap: add interrupt stacksAgustina Arzille
2017-05-10kern/thread: remove memory barrierRichard Braun
The flag operations already use atomic accessors, making the barrier irrelevant.
2017-05-09Replace sequential consistency with more efficient ordersAgustina Arzille
2017-04-29kern/thread: include stdint.hRichard Braun
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-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-20kern/thread: polish the stack guard codeRichard Braun
2017-03-20kern/thread: support any stack size with guard pagesAgustina Arzille
2017-03-20kern/thread: fix stack guard set-upRichard Braun
2017-03-19kern/thread: new thread_assert_interrupted functionRichard Braun
2017-03-19kern/thread: formally define interrupt contextRichard Braun
2017-03-17Merge remote-tracking branch 'avarzille/thread_stack_guard'Richard Braun
2017-03-17kern/thread: implement optional stack guardsAgustina Arzille
2017-03-16kern/thread: improve description of thread lockingRichard Braun
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/thread: count thread priority boostsRichard 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-14kern/thread: remove irrelevant TODOsRichard Braun
2017-03-14kern/thread: set a name for boot thread contextsRichard Braun
2017-03-14Use the X15 namespace consistently for macros defined by autoconfRichard Braun
2017-03-13kern/thread: reduce the number of real-time priorities to 32Richard Braun
2017-03-04Add missing braces for one-line blocksRichard Braun
2017-03-04Merge branch 'sleep_rework'Richard Braun
2017-03-04kern/task: improve task_infoRichard Braun
2017-03-04kern/{condition,mutex}: reimplement on top of sleep queuesRichard Braun
2017-03-04kern/{thread,turnstile}: implement priority inheritanceRichard Braun
The new turnstile module provides priority propagation capable sleep queues, tightly coupled with the scheduler, and can be used to implement synchronization facilities with priority inheritance.
2017-03-04kern/thread: fix thread_sched_class_to_str argument nameRichard Braun
2017-03-04kern/thread: fix thread_setschedulerRichard Braun
Make thread_setscheduler correctly handle a transient state made possible by the way the thread_wakeup function works.
2017-03-04kern/sleepq: new moduleRichard Braun
This module provides simple generic sleep queues that can be used to implement higher level synchronization facilities such as mutexes and condition variables.
2017-02-28kern/thread: assert wait channels are valid when sleepingRichard Braun
2017-02-14kern/thread: add reference counterRichard Braun
Counting thread references seems unavoidable for the near-future changes that are currently brewing.
2017-02-13kern/thread: make the global priority of fair-scheduling threads equalRichard Braun
2017-02-13kern/thread: minor change about scheduling class string representationRichard Braun
2017-02-13kern/thread: minor global priority reworkRichard Braun
2017-02-08kern/thread: add wait channelsRichard Braun
2017-02-07kern/thread: fix schedulingRichard Braun
Commit fd4c1bc361429fa17cfeb953ec8323bd62053601 made the pointer for the current thread of a run queue NULL during scheduling, but this actually breaks existing assumptions. Those changes are reverted in this commit.
2017-02-06kern/thread: replace tab with spacesRichard 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-02-01kern/thread: introduce global prioritiesRichard Braun