1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>__round_jiffies</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="ch01s03.html" title="Delaying, scheduling, and timer routines"><link rel="prev" href="API-reinit-completion.html" title="reinit_completion"><link rel="next" href="API---round-jiffies-relative.html" title="__round_jiffies_relative"></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">__round_jiffies</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-reinit-completion.html">Prev</a> </td><th width="60%" align="center">Delaying, scheduling, and timer routines</th><td width="20%" align="right"> <a accesskey="n" href="API---round-jiffies-relative.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API---round-jiffies"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>__round_jiffies — 2 function to round jiffies to a full second 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">unsigned long <b class="fsfunc">__round_jiffies </b>(</code></td><td>unsigned long <var class="pdparam">j</var>, </td></tr><tr><td> </td><td>int <var class="pdparam">cpu</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1106933388"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>j</code></em></span></dt><dd><p> 4 the time in (absolute) jiffies that should be rounded 5 </p></dd><dt><span class="term"><em class="parameter"><code>cpu</code></em></span></dt><dd><p> 6 the processor number on which the timeout will happen 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1106936012"></a><h2>Description</h2><p> 8 <code class="function">__round_jiffies</code> rounds an absolute time in the future (in jiffies) 9 up or down to (approximately) full seconds. This is useful for timers 10 for which the exact time they fire does not matter too much, as long as 11 they fire approximately every X seconds. 12 </p><p> 13 14 By rounding these timers to whole seconds, all such timers will fire 15 at the same time, rather than at various times spread out. The goal 16 of this is to have the CPU wake up less, which saves power. 17 </p><p> 18 19 The exact rounding is skewed for each processor to avoid all 20 processors firing at the exact same time, which could lead 21 to lock contention or spurious cache line bouncing. 22 </p><p> 23 24 The return value is the rounded version of the <em class="parameter"><code>j</code></em> parameter. 25</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-reinit-completion.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch01s03.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API---round-jiffies-relative.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">reinit_completion</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">__round_jiffies_relative</span></td></tr></table></div></body></html> 26