<div style="line-height:1.7;color:#000000;font-size:14px;font-family:Arial"><div>Right.&nbsp; I found the following code snippet:<br><br>3715 /*<br>3716&nbsp; * This task is about to go to sleep on IO. Increment rq-&gt;nr_iowait so<br>3717&nbsp; * that process accounting knows that this is a task in IO wait state.<br>3718&nbsp; */<br>3719 void __sched io_schedule(void)<br>3720 {<br>3721&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; struct rq *rq = raw_rq();<br>3722 <br>3723&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delayacct_blkio_start();<br>3724&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; atomic_inc(&amp;rq-&gt;nr_iowait);<br>3725&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; blk_flush_plug(current);<br>3726&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current-&gt;in_iowait = 1;<br>3727&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; schedule();<br>3728&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; current-&gt;in_iowait = 0;<br>3729&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; atomic_dec(&amp;rq-&gt;nr_iowait);<br>3730&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; delayacct_blkio_end();<br>3731 }<br>3732 EXPORT_SYMBOL(io_schedule);<br></div><br><br><div>--<br><div>Regards,<br>shhuiw<br></div></div><div id="divNeteaseMailCard"></div><br><pre><br>At 2014-07-15 10:28:57, "Mohammad Merajul Islam Molla" &lt;meraj.enigma@gmail.com&gt; wrote:
&gt;Number of processes waiting for I/O to complete on a cpu?
&gt;
&gt;On Tue, Jul 15, 2014 at 8:22 AM, Andev &lt;debiandev@gmail.com&gt; wrote:
&gt;&gt; On Mon, Jul 14, 2014 at 10:21 PM, Mohammad Merajul Islam Molla
&gt;&gt; &lt;meraj.enigma@gmail.com&gt; wrote:
&gt;&gt;&gt; Hi Andev,
&gt;&gt;&gt;
&gt;&gt;&gt; Thanks for reply. I got the definition too. What I really want to know
&gt;&gt;&gt; is what this variable nr_iowait stands for?
&gt;&gt;&gt; Is it counting pending input/output on a cpu?
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; --
&gt;&gt;&gt; - Meraj
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt;
&gt;&gt;&gt; On Tue, Jul 15, 2014 at 8:07 AM, Andev &lt;debiandev@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt; On Mon, Jul 14, 2014 at 10:10 AM, Mohammad Merajul Islam Molla
&gt;&gt;&gt;&gt; &lt;meraj.enigma@gmail.com&gt; wrote:
&gt;&gt;&gt;&gt;&gt; Hello,
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; I was looking into the code of cpuidle menu governor and it uses a
&gt;&gt;&gt;&gt;&gt; function nr_iowait_cpu(int cpu).
&gt;&gt;&gt;&gt;&gt; I could not find out what this function does.
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; Can someone please explain what nr_iowait_cpu(int cpu) and variant
&gt;&gt;&gt;&gt;&gt; nr_iowait() do?
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; --
&gt;&gt;
&gt;&gt; Now that is a better question. Try looking up what nr_iowait is.
&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; In all its glory:
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; unsigned long nr_iowait_cpu(int cpu)
&gt;&gt;&gt;&gt; {
&gt;&gt;&gt;&gt;     struct rq *this = cpu_rq(cpu);
&gt;&gt;&gt;&gt;     return atomic_read(&amp;this-&gt;nr_iowait);
&gt;&gt;&gt;&gt; }
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; Thanks,
&gt;&gt;&gt;&gt;&gt; -Meraj
&gt;&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;&gt; _______________________________________________
&gt;&gt;&gt;&gt;&gt; Kernelnewbies mailing list
&gt;&gt;&gt;&gt;&gt; Kernelnewbies@kernelnewbies.org
&gt;&gt;&gt;&gt;&gt; http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt;
&gt;&gt;&gt;&gt; --
&gt;&gt;&gt;&gt; Andev
&gt;&gt;
&gt;&gt;
&gt;&gt;
&gt;&gt; --
&gt;&gt; Andev
&gt;
&gt;_______________________________________________
&gt;Kernelnewbies mailing list
&gt;Kernelnewbies@kernelnewbies.org
&gt;http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
</pre></div>