1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><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 1. Driver Basics"><link rel="prev" href="API-schedule-hrtimeout.html" title="schedule_hrtimeout"><link rel="next" href="API-work-pending.html" title="work_pending"></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> </td><th width="60%" align="center">Chapter 1. Driver Basics</th><td width="20%" align="right"> <a accesskey="n" href="API-work-pending.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id-1.3.7"></a>Workqueues and Kevents</h2></div></div></div><div class="toc"><dl class="toc"><dt><span class="refentrytitle"><a href="API-work-pending.html"><span class="phrase">work_pending</span></a></span><span class="refpurpose"> — 
2  Find out whether a work item is currently pending
3 </span></dt><dt><span class="refentrytitle"><a href="API-delayed-work-pending.html"><span class="phrase">delayed_work_pending</span></a></span><span class="refpurpose"> — 
4     Find out whether a delayable work item is currently pending
5 </span></dt><dt><span class="refentrytitle"><a href="API-alloc-workqueue.html"><span class="phrase">alloc_workqueue</span></a></span><span class="refpurpose"> — 
6     allocate a workqueue
7 </span></dt><dt><span class="refentrytitle"><a href="API-alloc-ordered-workqueue.html"><span class="phrase">alloc_ordered_workqueue</span></a></span><span class="refpurpose"> — 
8     allocate an ordered workqueue
9 </span></dt><dt><span class="refentrytitle"><a href="API-queue-work.html"><span class="phrase">queue_work</span></a></span><span class="refpurpose"> — 
10     queue work on a workqueue
11 </span></dt><dt><span class="refentrytitle"><a href="API-queue-delayed-work.html"><span class="phrase">queue_delayed_work</span></a></span><span class="refpurpose"> — 
12     queue work on a workqueue after delay
13 </span></dt><dt><span class="refentrytitle"><a href="API-mod-delayed-work.html"><span class="phrase">mod_delayed_work</span></a></span><span class="refpurpose"> — 
14     modify delay of or queue a delayed work
15 </span></dt><dt><span class="refentrytitle"><a href="API-schedule-work-on.html"><span class="phrase">schedule_work_on</span></a></span><span class="refpurpose"> — 
16     put work task on a specific cpu
17 </span></dt><dt><span class="refentrytitle"><a href="API-schedule-work.html"><span class="phrase">schedule_work</span></a></span><span class="refpurpose"> — 
18     put work task in global workqueue
19 </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"> — 
20     ensure that any scheduled work has run to completion.
21 </span></dt><dt><span class="refentrytitle"><a href="API-schedule-delayed-work-on.html"><span class="phrase">schedule_delayed_work_on</span></a></span><span class="refpurpose"> — 
22     queue work in global workqueue on CPU after delay
23 </span></dt><dt><span class="refentrytitle"><a href="API-schedule-delayed-work.html"><span class="phrase">schedule_delayed_work</span></a></span><span class="refpurpose"> — 
24     put work task in global workqueue after delay
25 </span></dt><dt><span class="refentrytitle"><a href="API-keventd-up.html"><span class="phrase">keventd_up</span></a></span><span class="refpurpose"> — 
26     is workqueue initialized yet?
27 </span></dt><dt><span class="refentrytitle"><a href="API-queue-work-on.html"><span class="phrase">queue_work_on</span></a></span><span class="refpurpose"> — 
28  queue work on specific cpu
29 </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"> — 
30     queue work on specific CPU after delay
31 </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"> — 
32     modify delay of or queue a delayed work on specific CPU
33 </span></dt><dt><span class="refentrytitle"><a href="API-flush-workqueue.html"><span class="phrase">flush_workqueue</span></a></span><span class="refpurpose"> — 
34     ensure that any scheduled work has run to completion.
35 </span></dt><dt><span class="refentrytitle"><a href="API-drain-workqueue.html"><span class="phrase">drain_workqueue</span></a></span><span class="refpurpose"> — 
36     drain a workqueue
37 </span></dt><dt><span class="refentrytitle"><a href="API-flush-work.html"><span class="phrase">flush_work</span></a></span><span class="refpurpose"> — 
38     wait for a work to finish executing the last queueing instance
39 </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"> — 
40     cancel a work and wait for it to finish
41 </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"> — 
42     wait for a dwork to finish executing the last queueing
43 </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"> — 
44     cancel a delayed work
45 </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"> — 
46     cancel a delayed work and wait for it to finish
47 </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"> — 
48     reliably execute the routine with user context
49 </span></dt><dt><span class="refentrytitle"><a href="API-destroy-workqueue.html"><span class="phrase">destroy_workqueue</span></a></span><span class="refpurpose"> — 
50     safely terminate a workqueue
51 </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"> — 
52     adjust max_active of a workqueue
53 </span></dt><dt><span class="refentrytitle"><a href="API-workqueue-congested.html"><span class="phrase">workqueue_congested</span></a></span><span class="refpurpose"> — 
54     test whether a workqueue is congested
55 </span></dt><dt><span class="refentrytitle"><a href="API-work-busy.html"><span class="phrase">work_busy</span></a></span><span class="refpurpose"> — 
56     test whether a work is currently pending or running
57 </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"> — 
58     run a function in user context on a particular cpu
59 </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> </td><td width="20%" align="center"><a accesskey="u" href="Basics.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-work-pending.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">schedule_hrtimeout</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">work_pending</span></td></tr></table></div></body></html>
60