CPU_NEED_RESCHED(9)    NetBSD 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() typi-
     cally 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:

              Set a per-processor flag which is checked by userret(9) when
               returning to user-mode execution.

              Post an asynchronous software trap (AST).

              Send an inter processor interrupt to wake up cpu_idle(9).

SEE ALSO
     sched_4bsd(9), userret(9)

NetBSD 6.1.5                     July 31, 2010                    NetBSD 6.1.5

You can also request any man page by name and (optionally) by section:

Command: 
Section: 
Architecture: 
Collection: 
 

Use the DEFAULT collection to view manual pages for third-party software.


©1994 Man-cgi 1.15, Panagiotis Christias <christia@softlab.ntua.gr>
©1996-2014 Modified for NetBSD by Kimmo Suominen