man.bsd.lv manual page server

Manual Page Search Parameters

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

cpu_need_reschedcontext switch notification

#include <sys/cpu.h>

void
cpu_need_resched(struct cpu_info *ci, int flags);

The () 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, () 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 () function will perform the following operations:

sched_4bsd(9), userret(9)

July 31, 2010 NetBSD-9.2