1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Wait queues and Wake events</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="Linux Device Drivers"><link rel="up" href="Basics.html" title="Chapter&#160;1.&#160;Driver Basics"><link rel="prev" href="API-usleep-range.html" title="usleep_range"><link rel="next" href="API-wait-event.html" title="wait_event"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Wait queues and Wake events</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-usleep-range.html">Prev</a>&#160;</td><th width="60%" align="center">Chapter&#160;1.&#160;Driver Basics</th><td width="20%" align="right">&#160;<a accesskey="n" href="API-wait-event.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp1107113452"></a>Wait queues and Wake events</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-wait-event.html"><span class="phrase">wait_event</span></a></span><span class="refpurpose"> &#8212; 
2  sleep until a condition gets true
3 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-freezable.html"><span class="phrase">wait_event_freezable</span></a></span><span class="refpurpose"> &#8212; 
4     sleep (or freeze) until a condition gets true
5 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-timeout.html"><span class="phrase">wait_event_timeout</span></a></span><span class="refpurpose"> &#8212; 
6     sleep until a condition gets true or a timeout elapses
7 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-cmd.html"><span class="phrase">wait_event_cmd</span></a></span><span class="refpurpose"> &#8212; 
8     sleep until a condition gets true
9 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible.html"><span class="phrase">wait_event_interruptible</span></a></span><span class="refpurpose"> &#8212; 
10     sleep until a condition gets true
11 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-timeout.html"><span class="phrase">wait_event_interruptible_timeout</span></a></span><span class="refpurpose"> &#8212; 
12     sleep until a condition gets true or a timeout elapses
13 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-hrtimeout.html"><span class="phrase">wait_event_hrtimeout</span></a></span><span class="refpurpose"> &#8212; 
14     sleep until a condition gets true or a timeout elapses
15 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-hrtimeout.html"><span class="phrase">wait_event_interruptible_hrtimeout</span></a></span><span class="refpurpose"> &#8212; 
16     sleep until a condition gets true or a timeout elapses
17 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-locked.html"><span class="phrase">wait_event_interruptible_locked</span></a></span><span class="refpurpose"> &#8212; 
18     sleep until a condition gets true
19 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-locked-irq.html"><span class="phrase">wait_event_interruptible_locked_irq</span></a></span><span class="refpurpose"> &#8212; 
20     sleep until a condition gets true
21 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-exclusive-locked.html"><span class="phrase">wait_event_interruptible_exclusive_locked</span></a></span><span class="refpurpose"> &#8212; 
22     sleep exclusively until a condition gets true
23 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-exclusive-locked-irq.html"><span class="phrase">wait_event_interruptible_exclusive_locked_irq</span></a></span><span class="refpurpose"> &#8212; 
24     sleep until a condition gets true
25 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-killable.html"><span class="phrase">wait_event_killable</span></a></span><span class="refpurpose"> &#8212; 
26     sleep until a condition gets true
27 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-lock-irq-cmd.html"><span class="phrase">wait_event_lock_irq_cmd</span></a></span><span class="refpurpose"> &#8212; 
28     sleep until a condition gets true. The condition is checked under the lock. This is expected to be called with the lock taken.
29 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-lock-irq.html"><span class="phrase">wait_event_lock_irq</span></a></span><span class="refpurpose"> &#8212; 
30     sleep until a condition gets true. The condition is checked under the lock. This is expected to be called with the lock taken.
31 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-lock-irq-cmd.html"><span class="phrase">wait_event_interruptible_lock_irq_cmd</span></a></span><span class="refpurpose"> &#8212; 
32     sleep until a condition gets true. The condition is checked under the lock. This is expected to be called with the lock taken.
33 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-lock-irq.html"><span class="phrase">wait_event_interruptible_lock_irq</span></a></span><span class="refpurpose"> &#8212; 
34     sleep until a condition gets true. The condition is checked under the lock. This is expected to be called with the lock taken.
35 </span></dt><dt><span class="refentrytitle"><a href="API-wait-event-interruptible-lock-irq-timeout.html"><span class="phrase">wait_event_interruptible_lock_irq_timeout</span></a></span><span class="refpurpose"> &#8212; 
36     sleep until a condition gets true or a timeout elapses. The condition is checked under the lock. This is expected to be called with the lock taken.
37 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit.html"><span class="phrase">wait_on_bit</span></a></span><span class="refpurpose"> &#8212; 
38     wait for a bit to be cleared
39 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-io.html"><span class="phrase">wait_on_bit_io</span></a></span><span class="refpurpose"> &#8212; 
40     wait for a bit to be cleared
41 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-timeout.html"><span class="phrase">wait_on_bit_timeout</span></a></span><span class="refpurpose"> &#8212; 
42     wait for a bit to be cleared or a timeout elapses
43 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-action.html"><span class="phrase">wait_on_bit_action</span></a></span><span class="refpurpose"> &#8212; 
44     wait for a bit to be cleared
45 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-lock.html"><span class="phrase">wait_on_bit_lock</span></a></span><span class="refpurpose"> &#8212; 
46     wait for a bit to be cleared, when wanting to set it
47 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-lock-io.html"><span class="phrase">wait_on_bit_lock_io</span></a></span><span class="refpurpose"> &#8212; 
48     wait for a bit to be cleared, when wanting to set it
49 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-bit-lock-action.html"><span class="phrase">wait_on_bit_lock_action</span></a></span><span class="refpurpose"> &#8212; 
50     wait for a bit to be cleared, when wanting to set it
51 </span></dt><dt><span class="refentrytitle"><a href="API-wait-on-atomic-t.html"><span class="phrase">wait_on_atomic_t</span></a></span><span class="refpurpose"> &#8212; 
52     Wait for an atomic_t to become 0
53 </span></dt><dt><span class="refentrytitle"><a href="API---wake-up.html"><span class="phrase">__wake_up</span></a></span><span class="refpurpose"> &#8212; 
54  wake up threads blocked on a waitqueue.
55 </span></dt><dt><span class="refentrytitle"><a href="API---wake-up-sync-key.html"><span class="phrase">__wake_up_sync_key</span></a></span><span class="refpurpose"> &#8212; 
56     wake up threads blocked on a waitqueue.
57 </span></dt><dt><span class="refentrytitle"><a href="API-finish-wait.html"><span class="phrase">finish_wait</span></a></span><span class="refpurpose"> &#8212; 
58     clean up after waiting in a queue
59 </span></dt><dt><span class="refentrytitle"><a href="API-abort-exclusive-wait.html"><span class="phrase">abort_exclusive_wait</span></a></span><span class="refpurpose"> &#8212; 
60     abort exclusive waiting in a queue
61 </span></dt><dt><span class="refentrytitle"><a href="API-wake-up-bit.html"><span class="phrase">wake_up_bit</span></a></span><span class="refpurpose"> &#8212; 
62     wake up a waiter on a bit
63 </span></dt><dt><span class="refentrytitle"><a href="API-wake-up-atomic-t.html"><span class="phrase">wake_up_atomic_t</span></a></span><span class="refpurpose"> &#8212; 
64     Wake up a waiter on a atomic_t
65 </span></dt></dl></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-usleep-range.html">Prev</a>&#160;</td><td width="20%" align="center"><a accesskey="u" href="Basics.html">Up</a></td><td width="40%" align="right">&#160;<a accesskey="n" href="API-wait-event.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">usleep_range</span>&#160;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&#160;<span class="phrase">wait_event</span></td></tr></table></div></body></html>
66