Re: [PATCH] Change the document about iowait
From: Chao Fan
Date: Tue Nov 08 2016 - 20:34:11 EST
ping
Thanks,
Chao Fan
On Wed, Oct 26, 2016 at 10:41:28AM +0800, Chao Fan wrote:
>The iowait is not reliable by reading from /proc/stat, so this
>method to get iowait is not suggested. And we mark it in the
>document.
>
>Signed-off-by: Cao Jin <caoj.fnst@xxxxxxxxxxxxxx>
>Signed-off-by: Chao Fan <fanc.fnst@xxxxxxxxxxxxxx>
>---
> Documentation/filesystems/proc.txt | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
>diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
>index 74329fd..71f5096 100644
>--- a/Documentation/filesystems/proc.txt
>+++ b/Documentation/filesystems/proc.txt
>@@ -1305,7 +1305,16 @@ second). The meanings of the columns are as follows, from left to right:
> - nice: niced processes executing in user mode
> - system: processes executing in kernel mode
> - idle: twiddling thumbs
>-- iowait: waiting for I/O to complete
>+- iowait: In a word, iowait stands for waiting for I/O to complete. But there
>+ are several problems:
>+ 1. Cpu will not wait for I/O to complete, iowait is the time that a task is
>+ waiting for I/O to complete. When cpu goes into idle state for
>+ outstanding task io, another task will be scheduled on this CPU.
>+ 2. In a multi-core CPU, the task waiting for I/O to complete is not running
>+ on any CPU, so the iowait of each CPU is difficult to calculate.
>+ 3. The value of iowait field in /proc/stat will decrease in certain
>+ conditions.
>+ So, the iowait is not reliable by reading from /proc/stat.
> - irq: servicing interrupts
> - softirq: servicing softirqs
> - steal: involuntary wait
>--
>2.7.4
>