April 20, 2007 CPU_IDLE 9

### NAME

cpu_idle - machine-dependent processor idling interface

### SYNOPSIS

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