From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932472Ab0KQEIP (ORCPT ); Tue, 16 Nov 2010 23:08:15 -0500 Received: from mga09.intel.com ([134.134.136.24]:8682 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757807Ab0KQEIJ (ORCPT ); Tue, 16 Nov 2010 23:08:09 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="4.59,209,1288594800"; d="scan'208";a="574571786" Message-Id: <20101117035906.245438546@intel.com> User-Agent: quilt/0.48-1 Date: Wed, 17 Nov 2010 11:58:28 +0800 From: Wu Fengguang To: Andrew Morton CC: "Theodore Ts'o" , Jan Kara , Peter Zijlstra , Wu Fengguang CC: Dave Chinner CC: Mel Gorman CC: Rik van Riel CC: KOSAKI Motohiro CC: Chris Mason CC: Christoph Hellwig Cc: linux-mm Cc: Cc: LKML Subject: [PATCH 07/13] writeback: show bdi write bandwidth in debugfs Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Andrew, References: <20101117035821.000579293@intel.com> Content-Disposition: inline; filename=writeback-bandwidth-show.patch Add a "BdiWriteBandwidth" entry (and indent others) in /debug/bdi/*/stats. btw increase digital field width to 10, for keeping the possibly huge BdiWritten number aligned at least for desktop systems. This will break user space tools if they are dumb enough to depend on the number of white spaces. CC: Theodore Ts'o CC: Jan Kara CC: Peter Zijlstra Signed-off-by: Wu Fengguang --- mm/backing-dev.c | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) --- linux-next.orig/mm/backing-dev.c 2010-11-15 12:52:34.000000000 +0800 +++ linux-next/mm/backing-dev.c 2010-11-15 12:52:44.000000000 +0800 @@ -87,21 +87,23 @@ static int bdi_debug_stats_show(struct s #define K(x) ((x) << (PAGE_SHIFT - 10)) seq_printf(m, - "BdiWriteback: %8lu kB\n" - "BdiReclaimable: %8lu kB\n" - "BdiDirtyThresh: %8lu kB\n" - "DirtyThresh: %8lu kB\n" - "BackgroundThresh: %8lu kB\n" - "BdiWritten: %8lu kB\n" - "b_dirty: %8lu\n" - "b_io: %8lu\n" - "b_more_io: %8lu\n" - "bdi_list: %8u\n" - "state: %8lx\n", + "BdiWriteback: %10lu kB\n" + "BdiReclaimable: %10lu kB\n" + "BdiDirtyThresh: %10lu kB\n" + "DirtyThresh: %10lu kB\n" + "BackgroundThresh: %10lu kB\n" + "BdiWritten: %10lu kB\n" + "BdiWriteBandwidth: %10lu kBps\n" + "b_dirty: %10lu\n" + "b_io: %10lu\n" + "b_more_io: %10lu\n" + "bdi_list: %10u\n" + "state: %10lx\n", (unsigned long) K(bdi_stat(bdi, BDI_WRITEBACK)), (unsigned long) K(bdi_stat(bdi, BDI_RECLAIMABLE)), K(bdi_thresh), K(dirty_thresh), K(background_thresh), (unsigned long) K(bdi_stat(bdi, BDI_WRITTEN)), + (unsigned long) bdi->write_bandwidth >> 10, nr_dirty, nr_io, nr_more_io, !list_empty(&bdi->bdi_list), bdi->state); #undef K