All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vivek Goyal <vgoyal@redhat.com>
To: Robin Dong <robin.k.dong@gmail.com>
Cc: linux-kernel@vger.kernel.org, Robin Dong <sanbai@taobao.com>,
	Tejun Heo <tj@kernel.org>, Jens Axboe <axboe@kernel.dk>,
	Tao Ma <boyu.mt@taobao.com>
Subject: Re: [PATCH V3] block/throttle: Add IO throttled information in blkio.throttle
Date: Wed, 10 Oct 2012 10:22:18 -0400	[thread overview]
Message-ID: <20121010142218.GE16136@redhat.com> (raw)
In-Reply-To: <1349765625-4020-1-git-send-email-robin.k.dong@gmail.com>

On Tue, Oct 09, 2012 at 02:53:45PM +0800, Robin Dong wrote:
> From: Robin Dong <sanbai@taobao.com>
> 
> Currently, if the IO is throttled by io-throttle, the SA has no idea of
> the situation and can't report it to the real application user about
> that he/she has to do something. So this patch adds a new interface
> named blkio.throttle.io_queued which indicates how many IOs are
> currently throttled.
> 
> The nr_queued[] of struct throtl_grp is of type "unsigned int" and updates
> to it are atomic both at 32bit and 64bit platforms, so we could just
> read tg->nr_queued only under blkcg->lock.
> 
> Changelog from v2:
> 	Use nr-queued[] of struct throtl_grp for stats instaed of adding new blkg_rwstat.
> 
> Cc: Tejun Heo <tj@kernel.org>
> Cc: Vivek Goyal <vgoyal@redhat.com>
> Cc: Jens Axboe <axboe@kernel.dk>
> Signed-off-by: Tao Ma <boyu.mt@taobao.com>
> Signed-off-by: Robin Dong <sanbai@taobao.com>
> ---
>  block/blk-throttle.c |   40 ++++++++++++++++++++++++++++++++++++++++
>  1 files changed, 40 insertions(+), 0 deletions(-)
> 
> diff --git a/block/blk-throttle.c b/block/blk-throttle.c
> index a9664fa..e410448 100644
> --- a/block/blk-throttle.c
> +++ b/block/blk-throttle.c
> @@ -953,6 +953,32 @@ static u64 tg_prfill_cpu_rwstat(struct seq_file *sf,
>  	return __blkg_prfill_rwstat(sf, pd, &rwstat);
>  }
>  
> +static u64 tg_prfill_io_queued(struct seq_file *sf,
> +				struct blkg_policy_data *pd, int off)
> +{
> +	static const char *rwstr[] = {
> +		[READ]	= "Read",
> +		[WRITE]	= "Write",
> +	};
> +	struct throtl_grp *tg = pd_to_tg(pd);
> +	const char *dname = NULL;
> +	unsigned int v;
> +	int i;
> +
> +	if (pd->blkg->q->backing_dev_info.dev)
> +		dname = dev_name(pd->blkg->q->backing_dev_info.dev);
> +
> +	if (!dname)
> +		return 0;
> +
> +	for (i = 0; i <= WRITE; i++)
> +		seq_printf(sf, "%s %s %u\n", dname, rwstr[i], tg->nr_queued[i]);

You are printing only READ/WRITE stats and not the SYNC/ASYNC stats. This
is not inline with rest of the stats like throttle.io_serviced and
throttle.io_service_bytes.

I guess it is better to maintain rwstat for io_queued and display it
according to io_serviced.

Thanks
Vivek

  reply	other threads:[~2012-10-10 16:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-09  6:53 [PATCH V3] block/throttle: Add IO throttled information in blkio.throttle Robin Dong
2012-10-10 14:22 ` Vivek Goyal [this message]
2012-10-16 23:27 ` Tejun Heo
2012-10-17 13:49   ` Vivek Goyal
2012-10-18 23:24     ` Tejun Heo
2012-10-19 15:00       ` Vivek Goyal
2012-10-19 19:36         ` Tejun Heo
2012-10-19 19:39           ` Vivek Goyal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20121010142218.GE16136@redhat.com \
    --to=vgoyal@redhat.com \
    --cc=axboe@kernel.dk \
    --cc=boyu.mt@taobao.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robin.k.dong@gmail.com \
    --cc=sanbai@taobao.com \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.