mirror of
https://github.com/drasko/codezero.git
synced 2026-01-12 19:03:15 +01:00
A new scheduler replaces the old one. - There are no sched_xxx_notify() calls that ask scheduler to change task state. - Tasks now have priorities and different timeslices. - One second interval is distributed among processes. - There are just runnable and expired queues. - SCHED_GRANULARITY determines a maximum running boundary for tasks. - Scheduler can now detect a safe point and suspend a task. Interruptible blocking is implemented. - Mutexes, waitqueues and ipc are modified to have an interruptible nature. - Sleep information is stored on the ktcb. (which waitqueue? etc.)
16 lines
300 B
C
16 lines
300 B
C
/*
|
|
* Kernel preemption functions.
|
|
*/
|
|
#ifndef __PREEMPT_H__
|
|
#define __PREEMPT_H__
|
|
|
|
void preempt_enable(void);
|
|
void preempt_disable(void);
|
|
int preemptive(void);
|
|
int preempt_count(void);
|
|
|
|
int in_nested_irq_context(void);
|
|
int in_irq_context(void);
|
|
int in_task_context(void);
|
|
#endif /* __PREEMPT_H__ */
|