Re: [PATCH] Change the document about iowait

From: Jonathan Corbet
Date: Sun Nov 13 2016 - 10:48:05 EST


On Wed, 26 Oct 2016 10:41:28 +0800
Chao Fan <fanc.fnst@xxxxxxxxxxxxxx> 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.

Sorry for the delay on this. Life has been...challenging...

> Signed-off-by: Cao Jin <caoj.fnst@xxxxxxxxxxxxxx>
> Signed-off-by: Chao Fan <fanc.fnst@xxxxxxxxxxxxxx>

What does this signoff chain mean?

> ---
> 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

So I suppose I can apply this. But is there any chance of making it say
what iowait actually measures, rather than just saying that it's
unreliable?

Thanks,

jon