PatchworkOS  69292a3
A non-POSIX operating system.
Loading...
Searching...
No Matches
rcu.h File Reference
#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>
Include dependency graph for rcu.h:
This graph shows which files directly or indirectly include this file:

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 Documentation

◆ rcu_entry_t

typedef struct rcu_entry rcu_entry_t

Definition at line 13 of file rcu.h.