Age | Commit message (Collapse) | Author | |
---|---|---|---|
2018-05-03 | perfmon: register a pmu_driver in place of pmu_ops. | Remy Noel | |
Replace pmu_get_width with a property. Prepare the default overfow handling. | |||
2018-04-29 | Minor changes | Richard Braun | |
2018-04-21 | perfmon: fix overflo test only working on 64 bit counters. | Remy Noel | |
2018-04-21 | perfmon: various cosmetics. | Remy Noel | |
2018-04-21 | perfmon: Test overflow in cpu test. | Remy Noel | |
Adds perfmon_event_write as a test-only API. | |||
2018-04-21 | perfmon: Add overflow handling. | Remy Noel | |
Only architectural version 1 handled so far. | |||
2018-04-21 | kern/perfmon: add perfmon_cpu_pmc get/setters. | Remy Noel | |
2018-04-21 | kern/perfmon: Handle overflow on sync. | Remy Noel | |
Add new perfmon driver method "get_pmc_width". | |||
2018-04-21 | kern/perfmon.c: Add pmc id to index map. | Remy Noel | |
Will be used to handle calls from the pmu implementations. | |||
2018-04-21 | Merge branch 'master' into perfmon | Remy Noel | |
2018-04-19 | kern/atomic: remove shortcuts | Richard Braun | |
These shortcuts just don't bring enough value. | |||
2018-04-18 | Merge branch 'master' into perfmon | Remy Noel | |
2018-04-14 | kern/rcu: make the window check interval configurable | Richard Braun | |
2018-04-14 | kern/atomic: fix consume memory order | Richard Braun | |
The consume memory order is known to be problematic in the C11 specification, and as a result, most compilers alias it to acquire. Based on the assumption that the kernel doesn't run on architectures with an Alpha-like memory model, the consume memory order was aliased to relaxed, letting the CPU identify data dependencies. But there may also be issues at compile time, making this hack is dangerous. As a result, the actual consume memory order as implemented by the compiler is now used to define the kernel consume memory order. See https://lwn.net/Articles/588300/. | |||
2018-04-14 | Rename variables in function-like macros | Richard Braun | |
2018-04-14 | Fix left-over reserved identifiers | Richard Braun | |
For some reason, commit be5b9d6ab9f7e7a81c367e4bb0823ba11f85940f didn't take care of all reserved identifiers. | |||
2018-04-14 | Merge branch 'master' into perfmon | Remy Noel | |
2018-04-13 | kern/xcall: upgrade spurious interrupts to errors | Richard Braun | |
2018-04-01 | Merge branch 'bulletin' | Richard Braun | |
2018-04-01 | kern/bulletin: new module | Richard Braun | |
2018-04-01 | kern/rcu: add assertion in rcu_defer | Richard Braun | |
2018-04-01 | kern/{hash,list}: update from upstream | Richard Braun | |
This commit fixes undefined behavior in hash_str, and RCU linked list walking. | |||
2018-03-13 | Merge branch 'master' into perfmon | Remy Noel | |
2018-03-12 | perfmon: Coding style & cosmetic fixes | Remy Noel | |
2018-03-03 | kern/spinlock: minor comment fix | Richard Braun | |
2018-03-02 | kern/spinlock: fix and optimize | Richard Braun | |
Making the unlock operation block allows tricky deadlocks to occur in case a thread is interrupted right before announcing itself as the first waiter in the queue. Since locking is expected to block, the spinlock implementation is reworked to move the hand-off performed by the unlock operation into the lock operation. As a side effect, the common case of a single waiter is also optimized. | |||
2018-03-02 | kern/spinlock: fix direct use of CONFIG_SPINLOCK_DEBUG | Richard Braun | |
2018-02-25 | Merge branch 'master' into perfmon | Remy Noel | |
2018-02-25 | Merge branch 'master' into perfmon | Remy Noel | |
2018-02-24 | kern/kmem: new KMEM_DEBUG option | Richard Braun | |
2018-02-24 | kern/log2: fix naming | Richard Braun | |
2018-02-24 | Update license note about modules from librbraun | Richard Braun | |
2018-02-24 | kern/{cbuf,fmt,hash,hlist,list,plist,rdxtree,shell,slist}: update from upstream | Richard Braun | |
Note that this commit changes the order of some list operations without triggering warnings. | |||
2018-02-24 | New ENOENT error code | Richard Braun | |
2018-02-24 | New errno.h standard header | Richard Braun | |
Use standard errno codes. This change also adds strerror to string.h. | |||
2018-02-24 | Don't use reserved identifiers | Richard Braun | |
2018-02-22 | perfmon: split pmu into amd and intel architectures. | Remy Noel | |
pmu_driver handling is now perfmon's responsibility. | |||
2018-02-22 | kern/spinlock: add ownership tracking as a debugging feature | Richard Braun | |
2018-02-21 | kern/rcu: comment the loop in rcu_cpu_data_check_gp_state | Richard Braun | |
2018-02-20 | kern/clock: include stdalign.h | Richard Braun | |
2018-02-20 | kern/rcu: fix !SMP builds | Richard Braun | |
2018-02-20 | kern/llsync: remove module | Richard Braun | |
2018-02-20 | Rework the initialization operations of some kernel modules | Richard 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-20 | Merge branch 'preemptible_rcu' | Richard Braun | |
2018-02-20 | kern/rcu: new module | Richard Braun | |
This module implements preemptible RCU. | |||
2018-02-20 | kern/thread: remove sref registration calls | Richard Braun | |
The upcoming RCU implementation requires scalable reference counters to be usable in interrupt context, and in particular, in the periodic tick handler, when an idle thread may be running, and the local processor is not registered. | |||
2018-02-20 | kern/timer: coding style fix | Richard Braun | |
2018-02-12 | kern/xcall: optimize and improve documentation | Richard Braun | |
Don't uselessly align to the CPU cache line size. Remove the useless array of preallocated cross-calls, and allocate from the caller stack instead. Since that array was the only object protected by disabling preemption, leave preemption enabled accordingly. Document locking keys, and describe memory ordering guarantees and enforcing. Add TODO entry about asynchronous cross-call support. | |||
2018-02-12 | Add TODO entries | Richard Braun | |
2018-02-12 | kern/xcall: declare the xcall_setup init operation | Richard Braun | |