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

# NAME

`splraiseipl` —
raise the system priority level

# SYNOPSIS

`#include <sys/intr.h>`

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

July 9, 2015 | NetBSD 9.2