From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934338AbcKMPr7 (ORCPT ); Sun, 13 Nov 2016 10:47:59 -0500 Received: from tex.lwn.net ([70.33.254.29]:34352 "EHLO vena.lwn.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932338AbcKMPr6 (ORCPT ); Sun, 13 Nov 2016 10:47:58 -0500 Date: Sun, 13 Nov 2016 08:47:55 -0700 From: Jonathan Corbet To: Chao Fan Cc: , , , , , Cao Jin Subject: Re: [PATCH] Change the document about iowait Message-ID: <20161113084755.0eeb4ad4@lwn.net> In-Reply-To: <1477449688-19397-1-git-send-email-fanc.fnst@cn.fujitsu.com> References: <1477449688-19397-1-git-send-email-fanc.fnst@cn.fujitsu.com> Organization: LWN.net MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 26 Oct 2016 10:41:28 +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. Sorry for the delay on this. Life has been...challenging... > Signed-off-by: Cao Jin > Signed-off-by: Chao Fan 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