|
PatchworkOS
69292a3
A non-POSIX operating system.
|
#include <kernel/cpu/cli.h>#include <kernel/cpu/interrupt.h>#include <kernel/sched/sched.h>#include <stdatomic.h>#include <stdint.h>#include <sys/io.h>#include <sys/list.h>#include <sys/proc.h>Go to the source code of this file.
Data Structures | |
| struct | rcu_entry_t |
| Intrusive RCU head structure. More... | |
Macros | |
| #define | RCU_READ_SCOPE() |
| RCU read-side critical section for the current scope. | |
Typedefs | |
| typedef struct rcu_entry | rcu_entry_t |
| typedef void(* | rcu_callback_t) (void *arg) |
| RCU callback function type. | |
Functions | |
| static void | rcu_read_lock (void) |
| RCU read-side critical section begin. | |
| static void | rcu_read_unlock (void) |
| RCU read-side critical section end. | |
| void | rcu_synchronize (void) |
| Wait for all pre-existing RCU read-side critical sections to complete. | |
| void | rcu_call (rcu_entry_t *entry, rcu_callback_t func, void *arg) |
| Add a callback to be executed after a grace period. | |
| void | rcu_report_quiescent (void) |
| Called during a context switch to report a quiescent state. | |
| void | rcu_call_free (void *arg) |
| Helper callback to free a pointer. | |
| void | rcu_call_cache_free (void *arg) |
| Helper callback to free a cache object. | |
| static void | rcu_read_unlock_cleanup (int *_) |
| typedef struct rcu_entry rcu_entry_t |