Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

preempt(9) [netbsd man page]

PREEMPT(9)						   BSD Kernel Developer's Manual						PREEMPT(9)

NAME
preempt, yield -- general preempt and yield functions SYNOPSIS
#include <sys/sched.h> void preempt(void); #include <sys/proc.h> void yield(void); DESCRIPTION
The preempt() function puts the current LWP back on the system run queue and performs an involuntary context switch. The yield() function is mostly same as preempt(), except that it performs a voluntary context switch. These functions drop the kernel lock before switching and re-acquire it before returning. BSD
July 3, 2007 BSD

Check Out this Related Man Page

CPU_NEED_RESCHED(9)					   BSD Kernel Developer's Manual				       CPU_NEED_RESCHED(9)

NAME
cpu_need_resched -- context switch notification SYNOPSIS
#include <sys/cpu.h> void cpu_need_resched(struct cpu_info *ci, int flags); DESCRIPTION
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 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: o Set a per-processor flag which is checked by userret(9) when returning to user-mode execution. o Post an asynchronous software trap (AST). o Send an inter processor interrupt to wake up cpu_idle(9). SEE ALSO
sched_4bsd(9), userret(9) BSD
July 31, 2010 BSD
Man Page