February 11, 2007 SPLRAISEIPL 9

### NAME

splraiseipl - raise the system priority level

### SYNOPSIS

```int` splraiseipl(```ipl_cookie_t icookie`)

### DESCRIPTION

splraiseipl(``) raises the system priority level to the level specified by ```icookie`. ```icookie` should be a value returned by makeiplcookie(``).

In general, device drivers should not make use of this interface. To ensure correct synchronization, device drivers should use the condvar(9), mutex(9), and rwlock(9) interfaces.

See the spl(9) manual page for a description of interrupt priority levels.

### RETURN VALUES

splraiseipl(``) returns saved priority level which can be used for splx(``).

### EXAMPLES

The following two lines are functional equivalents. `

            s = splraiseipl(makeiplcookie(IPL_VM));

` `

            s = splvm();

`

Because makeiplcookie(``) can be slow and is not expected to be used in a perfomance critical path, it's better to do it beforehand. ``

            initialization_code(ipl_t ipl)
            {

                    ourcookie = makeiplcookie(ipl);
            }

            performance_critical_code()
            {
                    int s;

                    s = splraiseipl(ourcookie);
                    do_something();
                    splx(s);
            }

### SEE ALSO

condvar(9), makeiplcookie(9), mutex(9), rwlock(9), spl(9)