December 21, 2008 KPREEMPT 9

### NAME

kpreempt - control kernel preemption

### SYNOPSIS

```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)