CPU_IDLE(9)

CPU_IDLE(9) | Kernel Developer's Manual | CPU_IDLE(9)

# NAME

`cpu_idle` — machine-dependent processor idling interface

# SYNOPSIS

`#include <sys/cpu.h>`

void
`cpu_idle`(void);

# DESCRIPTION

`cpu_idle`() is called by machine-independent code when the processor has nothing to do. It can be used to conserve the processor power, for example.

`cpu_idle`() returns immediately if `cpu_need_resched`() has been called for the processor after the last call of `cpu_idle`() or `cpu_did_resched`() on the processor. `cpu_idle`() returns as soon as possible when `cpu_need_resched`() is called for the processor. Otherwise, it returns whenever it likes.

`cpu_idle`() is called at `IPL_NONE`, without any locks held.

# EXAMPLES

The simplest (and, in some cases, the best) implementation of `cpu_idle`() is the following.

    	void
    	cpu_idle(void)
    	{
    		/* nothing */
    	}

# SEE ALSO

cpu_need_resched(9), cpu_switchto(9), intro(9), spl(9)

April 20, 2007 | NetBSD 11.0