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.

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 disabled. It's for diagnostic purpose.

SEE ALSO
intro(9), spl(9)