diff options
Diffstat (limited to 'lume-legacy/include/kernel/runqueue.h')
| -rw-r--r-- | lume-legacy/include/kernel/runqueue.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/lume-legacy/include/kernel/runqueue.h b/lume-legacy/include/kernel/runqueue.h new file mode 100644 index 0000000..14704ce --- /dev/null +++ b/lume-legacy/include/kernel/runqueue.h @@ -0,0 +1,21 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright (C) 2026 Richard QIn + */ + +#pragma once +#include "kernel/spinlock.h" +#include "kernel/proc_def.h" + +struct RunQueue +{ + Spinlock lock; + struct Proc *heads[N_PRIO]; + struct Proc *tails[N_PRIO]; + uint64 count; + + void init(const char *name); + void enqueue(struct Proc *p); + struct Proc *dequeue(); + struct Proc *steal(); +};
\ No newline at end of file |
