SPLRAISEIPL(9) | Kernel Developer's Manual | SPLRAISEIPL(9) |
splraiseipl
—
#include <sys/intr.h>
int
splraiseipl
(ipl_cookie_t
icookie);
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.
splraiseipl
() returns saved priority level which can be
used for splx
().
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); }
July 9, 2015 | NetBSD 9.2 |