1 #ifndef __LUNAIX_SCHEDULER_H
2 #define __LUNAIX_SCHEDULER_H
4 #include <lunaix/compiler.h>
5 #include <lunaix/process.h>
7 #define SCHED_TIME_SLICE 300
8 #define MAX_THREAD_PP 1024
10 #define PROC_TABLE_SIZE 8192
11 #define MAX_PROCESS (PROC_TABLE_SIZE / sizeof(ptr_t))
15 struct proc_info** procs;
16 struct llist_header* threads;
17 struct llist_header* proc_list;
18 struct llist_header sleepers;
32 run(struct thread* thread);
35 cleanup_detached_threads();
37 static inline struct scheduler*
40 extern struct scheduler sched_ctx;
44 #endif /* __LUNAIX_SCHEDULER_H */