KPREEMPT(9)            NetBSD Kernel Developer's Manual            KPREEMPT(9)

NAME
     kpreempt -- control kernel preemption

SYNOPSIS
     #include <sys/systm.h>

     void
     kpreempt_disable(void);

     void
     kpreempt_enable(void);

     bool
     kpreempt_disabled(void);

DESCRIPTION
     These functions are used to control kernel preemption of the calling LWP.

     On architectures where kernel preemption is not supported natively, these
     functions may still be used.

     It should be noted that kernel preemption is also disabled when holding
     the interrupt priority level above IPL_NONE, e.g. using spl(9) or spin-
     ning mutex(9) calls or holding kernel_lock (indicating that the code is
     not MT safe).

     kpreempt_disable() disables kernel preemption of the calling LWP.  Note
     that disabling kernel preemption can prevent LWPs with higher priorities
     from running.

     kpreempt_enable() enables kernel preemption of the calling LWP, which was
     previously disabled by kpreempt_disable().

     kpreempt_disable() and kpreempt_enable() can be nested.

     kpreempt_disabled() returns true if preemption of the calling LWP is dis-
     abled.  It is only for diagnostic purpose.

SEE ALSO
     intro(9), mutex(9), spl(9)

NetBSD 7.0                     February 16, 2010                    NetBSD 7.0

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