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 1. 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> </td><th width="60%" align="center">Chapter 1. Driver Basics</th><td width="20%" align="right"> <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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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"> — 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> </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-queue-work-on.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">queue_work_on</span></td></tr></table></div></body></html> 36