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