<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><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.76.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.html" title="queue_work" /></head><body><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.html">Next</a></td></tr></table><hr /></div><div class="sect1" title="Workqueues and Kevents"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="id3056928"></a>Workqueues and Kevents</h2></div></div></div><div class="toc"><dl><dt><span class="refentrytitle"><a href="API-queue-work.html"><span>queue_work</span></a></span><span class="refpurpose"> — queue work on a workqueue </span></dt><dt><span class="refentrytitle"><a href="API-queue-work-on.html"><span>queue_work_on</span></a></span><span class="refpurpose"> — queue work on specific cpu </span></dt><dt><span class="refentrytitle"><a href="API-queue-delayed-work.html"><span>queue_delayed_work</span></a></span><span class="refpurpose"> — queue work on a workqueue after delay </span></dt><dt><span class="refentrytitle"><a href="API-queue-delayed-work-on.html"><span>queue_delayed_work_on</span></a></span><span class="refpurpose"> — queue work on specific CPU after delay </span></dt><dt><span class="refentrytitle"><a href="API-flush-workqueue.html"><span>flush_workqueue</span></a></span><span class="refpurpose"> — ensure that any scheduled work has run to completion. </span></dt><dt><span class="refentrytitle"><a href="API-flush-work.html"><span>flush_work</span></a></span><span class="refpurpose"> — wait for a work to finish executing the last queueing instance </span></dt><dt><span class="refentrytitle"><a href="API-flush-work-sync.html"><span>flush_work_sync</span></a></span><span class="refpurpose"> — wait until a work has finished execution </span></dt><dt><span class="refentrytitle"><a href="API-cancel-work-sync.html"><span>cancel_work_sync</span></a></span><span class="refpurpose"> — cancel a work and wait for it to finish </span></dt><dt><span class="refentrytitle"><a href="API-flush-delayed-work.html"><span>flush_delayed_work</span></a></span><span class="refpurpose"> — wait for a dwork to finish executing the last queueing </span></dt><dt><span class="refentrytitle"><a href="API-flush-delayed-work-sync.html"><span>flush_delayed_work_sync</span></a></span><span class="refpurpose"> — wait for a dwork to finish </span></dt><dt><span class="refentrytitle"><a href="API-cancel-delayed-work-sync.html"><span>cancel_delayed_work_sync</span></a></span><span class="refpurpose"> — cancel a delayed work and wait for it to finish </span></dt><dt><span class="refentrytitle"><a href="API-schedule-work.html"><span>schedule_work</span></a></span><span class="refpurpose"> — put work task in global workqueue </span></dt><dt><span class="refentrytitle"><a href="API-schedule-delayed-work.html"><span>schedule_delayed_work</span></a></span><span class="refpurpose"> — put work task in global workqueue after delay </span></dt><dt><span class="refentrytitle"><a href="API-schedule-delayed-work-on.html"><span>schedule_delayed_work_on</span></a></span><span class="refpurpose"> — queue work in global workqueue on CPU after delay </span></dt><dt><span class="refentrytitle"><a href="API-flush-scheduled-work.html"><span>flush_scheduled_work</span></a></span><span class="refpurpose"> — ensure that any scheduled work has run to completion. </span></dt><dt><span class="refentrytitle"><a href="API-execute-in-process-context.html"><span>execute_in_process_context</span></a></span><span class="refpurpose"> — reliably execute the routine with user context </span></dt><dt><span class="refentrytitle"><a href="API-destroy-workqueue.html"><span>destroy_workqueue</span></a></span><span class="refpurpose"> — safely terminate a workqueue </span></dt><dt><span class="refentrytitle"><a href="API-workqueue-set-max-active.html"><span>workqueue_set_max_active</span></a></span><span class="refpurpose"> — adjust max_active of a workqueue </span></dt><dt><span class="refentrytitle"><a href="API-workqueue-congested.html"><span>workqueue_congested</span></a></span><span class="refpurpose"> — test whether a workqueue is congested </span></dt><dt><span class="refentrytitle"><a href="API-work-cpu.html"><span>work_cpu</span></a></span><span class="refpurpose"> — return the last known associated cpu for <em class="parameter"><code>work</code></em> </span></dt><dt><span class="refentrytitle"><a href="API-work-busy.html"><span>work_busy</span></a></span><span class="refpurpose"> — test whether a work is currently pending or running </span></dt><dt><span class="refentrytitle"><a href="API-work-on-cpu.html"><span>work_on_cpu</span></a></span><span class="refpurpose"> — run a function in user context on a particular cpu </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.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span>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>queue_work</span></td></tr></table></div></body></html>