1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>Workqueues and Kevents</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-schedule-hrtimeout.html" title="schedule_hrtimeout"><link rel="next" href="API-queue-work-on.html" title="queue_work_on"></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">Workqueues and Kevents</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-schedule-hrtimeout.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-queue-work-on.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="idp1107663748"></a>Workqueues and Kevents</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-queue-work-on.html"><span class="phrase">queue_work_on</span></a></span><span class="refpurpose"> &#8212; 
2  queue work on specific cpu
3 </span></dt><dt><span class="refentrytitle"><a href="API-queue-delayed-work-on.html"><span class="phrase">queue_delayed_work_on</span></a></span><span class="refpurpose"> &#8212; 
4     queue work on specific CPU after delay
5 </span></dt><dt><span class="refentrytitle"><a href="API-mod-delayed-work-on.html"><span class="phrase">mod_delayed_work_on</span></a></span><span class="refpurpose"> &#8212; 
6     modify delay of or queue a delayed work on specific CPU
7 </span></dt><dt><span class="refentrytitle"><a href="API-flush-workqueue.html"><span class="phrase">flush_workqueue</span></a></span><span class="refpurpose"> &#8212; 
8     ensure that any scheduled work has run to completion.
9 </span></dt><dt><span class="refentrytitle"><a href="API-drain-workqueue.html"><span class="phrase">drain_workqueue</span></a></span><span class="refpurpose"> &#8212; 
10     drain a workqueue
11 </span></dt><dt><span class="refentrytitle"><a href="API-flush-work.html"><span class="phrase">flush_work</span></a></span><span class="refpurpose"> &#8212; 
12     wait for a work to finish executing the last queueing instance
13 </span></dt><dt><span class="refentrytitle"><a href="API-cancel-work-sync.html"><span class="phrase">cancel_work_sync</span></a></span><span class="refpurpose"> &#8212; 
14     cancel a work and wait for it to finish
15 </span></dt><dt><span class="refentrytitle"><a href="API-flush-delayed-work.html"><span class="phrase">flush_delayed_work</span></a></span><span class="refpurpose"> &#8212; 
16     wait for a dwork to finish executing the last queueing
17 </span></dt><dt><span class="refentrytitle"><a href="API-cancel-delayed-work.html"><span class="phrase">cancel_delayed_work</span></a></span><span class="refpurpose"> &#8212; 
18     cancel a delayed work
19 </span></dt><dt><span class="refentrytitle"><a href="API-cancel-delayed-work-sync.html"><span class="phrase">cancel_delayed_work_sync</span></a></span><span class="refpurpose"> &#8212; 
20     cancel a delayed work and wait for it to finish
21 </span></dt><dt><span class="refentrytitle"><a href="API-flush-scheduled-work.html"><span class="phrase">flush_scheduled_work</span></a></span><span class="refpurpose"> &#8212; 
22     ensure that any scheduled work has run to completion.
23 </span></dt><dt><span class="refentrytitle"><a href="API-execute-in-process-context.html"><span class="phrase">execute_in_process_context</span></a></span><span class="refpurpose"> &#8212; 
24     reliably execute the routine with user context
25 </span></dt><dt><span class="refentrytitle"><a href="API-destroy-workqueue.html"><span class="phrase">destroy_workqueue</span></a></span><span class="refpurpose"> &#8212; 
26     safely terminate a workqueue
27 </span></dt><dt><span class="refentrytitle"><a href="API-workqueue-set-max-active.html"><span class="phrase">workqueue_set_max_active</span></a></span><span class="refpurpose"> &#8212; 
28     adjust max_active of a workqueue
29 </span></dt><dt><span class="refentrytitle"><a href="API-workqueue-congested.html"><span class="phrase">workqueue_congested</span></a></span><span class="refpurpose"> &#8212; 
30     test whether a workqueue is congested
31 </span></dt><dt><span class="refentrytitle"><a href="API-work-busy.html"><span class="phrase">work_busy</span></a></span><span class="refpurpose"> &#8212; 
32     test whether a work is currently pending or running
33 </span></dt><dt><span class="refentrytitle"><a href="API-work-on-cpu.html"><span class="phrase">work_on_cpu</span></a></span><span class="refpurpose"> &#8212; 
34     run a function in user context on a particular cpu
35 </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-schedule-hrtimeout.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-queue-work-on.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">schedule_hrtimeout</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">queue_work_on</span></td></tr></table></div></body></html>
36