1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>synchronize_sched_expedited</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="ch01s09.html" title="Kernel utility functions"><link rel="prev" href="API-cond-synchronize-sched.html" title="cond_synchronize_sched"><link rel="next" href="API-rcu-barrier-bh.html" title="rcu_barrier_bh"></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"><span class="phrase">synchronize_sched_expedited</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-cond-synchronize-sched.html">Prev</a> </td><th width="60%" align="center">Kernel utility functions</th><td width="20%" align="right"> <a accesskey="n" href="API-rcu-barrier-bh.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-synchronize-sched-expedited"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>synchronize_sched_expedited — 
2     Brute-force RCU-sched grace period
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">synchronize_sched_expedited </b>(</code></td><td> <var class="pdparam">void</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.3.10.45.5"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>void</code></em></span></dt><dd><p>
4     no arguments
5    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.3.10.45.6"></a><h2>Description</h2><p>
6   </p><p>
7
8   Wait for an RCU-sched grace period to elapse, but use a <span class="quote">“<span class="quote">big hammer</span>”</span>
9   approach to force the grace period to end quickly.  This consumes
10   significant time on all CPUs and is unfriendly to real-time workloads,
11   so is thus not recommended for any sort of common-case code.  In fact,
12   if you are using <code class="function"><a class="link" href="API-synchronize-sched-expedited.html" title="synchronize_sched_expedited">synchronize_sched_expedited</a></code> in a loop, please
13   restructure your code to batch your updates, and then use a single
14   <code class="function"><a class="link" href="API-synchronize-sched.html" title="synchronize_sched">synchronize_sched</a></code> instead.
15   </p><p>
16
17   This implementation can be thought of as an application of sequence
18   locking to expedited grace periods, but using the sequence counter to
19   determine when someone else has already done the work instead of for
20   retrying readers.
21</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-cond-synchronize-sched.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01s09.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-rcu-barrier-bh.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">cond_synchronize_sched</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">rcu_barrier_bh</span></td></tr></table></div></body></html>
22