Barrelfish
Data Fields
kcb Struct Reference

The kernel control block. More...

+ Collaboration diagram for kcb:

Data Fields

bool is_valid
 kcb has been initialized by a kernel before
 
struct kcbnext
 
lvaddr_t mdb_root
 mdb root node
 
enum sched_state sched
 which scheduler state is valid
 
struct dcbring_current
 RR scheduler state.
 
struct dcbqueue_head
 RBED scheduler state.
 
struct dcbwakeup_queue_head
 
int64_t kernel_off
 last value of kernel_now before shutdown/migration
 

Detailed Description

The kernel control block.

this is the memory layout of ObjType_KernelControlBlock this struct should contain all the persistent state that belongs to a kernel.

Field Documentation

struct kcb* kcb::next

kcb scheduling ring. These fields point to the next and previous kcb that should be scheduled when we're running multiple kcbs on the same kernel. invariant: next == NULL –> prev == NULL invariant: next is the next kcb in the ring and prev is the previous kcb in the ring

struct dcb* kcb::wakeup_queue_head

current time since kernel start in timeslices. This is necessary to make the scheduler work correctly wakeup queue head


The documentation for this struct was generated from the following files: