CPU_NEED_RESCHED(9) | Kernel Developer's Manual | CPU_NEED_RESCHED(9) |
cpu_need_resched
—
#include <sys/cpu.h>
void
cpu_need_resched
(struct
cpu_info *ci, int
flags);
cpu_need_resched
() function is the
machine-independent interface for the scheduler to notify machine-dependent
code that a context switch from the current LWP, on the cpu
ci, is required. This event may occur if a higher
priority LWP appears on the run queue or if the current LWP has exceeded its
time slice.
If RESCHED_KPREEMPT
flag is specified in
flags and __HAVE_PREEMPTION
C
pre-processor macro is defined in
<machine/intr.h>
,
machine-dependent code should make a context switch happen as soon as
possible even if the cpu is running the kernel code.
If RESCHED_IMMED
flag is specified in
flags, machine-dependent code should make a context
switch happen as soon as possible. In that case, for example, if
ci is not the current processor,
cpu_need_resched
() typically issues an inter
processor call to the processor to make it notice the need of a context
switch as soon as possible.
Typically, the cpu_need_resched
() function
will perform the following operations:
July 31, 2010 | NetBSD 9.0 |