NetBSD 6.1.5 - man page for cpu_need_resched (netbsd section 9)
|Linux & Unix Commands - Search Man Pages
CPU_NEED_RESCHED(9) BSD Kernel Developer's Manual CPU_NEED_RESCHED(9)
cpu_need_resched -- context switch notification
cpu_need_resched(struct cpu_info *ci, int flags);
The 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 pro-
cessor, 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:
o Set a per-processor flag which is checked by userret(9) when returning to user-
o Post an asynchronous software trap (AST).
o Send an inter processor interrupt to wake up cpu_idle(9).
BSD July 31, 2010 BSD
All times are GMT -4. The time now is 01:30 PM.