Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755735Ab0DERF6 (ORCPT ); Mon, 5 Apr 2010 13:05:58 -0400 Received: from mx1.redhat.com ([209.132.183.28]:16655 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755472Ab0DERFw (ORCPT ); Mon, 5 Apr 2010 13:05:52 -0400 Date: Mon, 5 Apr 2010 13:05:36 -0400 From: Vivek Goyal To: Divyesh Shah Cc: jens.axboe@oracle.com, linux-kernel@vger.kernel.org, nauman@google.com, ctalbott@google.com Subject: Re: [PATCH 1/3][v2] blkio: Remove per-cfqq nr_sectors as we'll be passing Message-ID: <20100405170535.GG876@redhat.com> References: <20100403014724.30746.16081.stgit@austin.mtv.corp.google.com> <20100403015445.30746.39086.stgit@austin.mtv.corp.google.com> <20100405154757.GE876@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.19 (2009-01-05) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 5494 Lines: 133 On Mon, Apr 05, 2010 at 09:57:08AM -0700, Divyesh Shah wrote: > On Mon, Apr 5, 2010 at 8:47 AM, Vivek Goyal wrote: > > On Fri, Apr 02, 2010 at 06:55:48PM -0700, Divyesh Shah wrote: > >> that info at request dispatch with other stats now. This patch removes the > >> existing support for accounting sectors for a blkio_group. This will be added > >> back differently in the next two patches. > >> > >> Signed-off-by: Divyesh Shah > >> --- > >> > >> ?block/blk-cgroup.c ?| ? ?3 +-- > >> ?block/blk-cgroup.h ?| ? ?6 ++---- > >> ?block/cfq-iosched.c | ? 10 ++-------- > >> ?3 files changed, 5 insertions(+), 14 deletions(-) > >> > >> diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c > >> index 4b686ad..5be3981 100644 > >> --- a/block/blk-cgroup.c > >> +++ b/block/blk-cgroup.c > >> @@ -56,10 +56,9 @@ struct blkio_cgroup *cgroup_to_blkio_cgroup(struct cgroup *cgroup) > >> ?EXPORT_SYMBOL_GPL(cgroup_to_blkio_cgroup); > >> > >> ?void blkiocg_update_blkio_group_stats(struct blkio_group *blkg, > >> - ? ? ? ? ? ? ? ? ? ? unsigned long time, unsigned long sectors) > >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned long time) > >> ?{ > >> ? ? ? blkg->time += time; > >> - ? ? blkg->sectors += sectors; > >> ?} > >> ?EXPORT_SYMBOL_GPL(blkiocg_update_blkio_group_stats); > >> > >> diff --git a/block/blk-cgroup.h b/block/blk-cgroup.h > >> index 8ccc204..fe44517 100644 > >> --- a/block/blk-cgroup.h > >> +++ b/block/blk-cgroup.h > >> @@ -106,7 +106,7 @@ extern int blkiocg_del_blkio_group(struct blkio_group *blkg); > >> ?extern struct blkio_group *blkiocg_lookup_group(struct blkio_cgroup *blkcg, > >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? void *key); > >> ?void blkiocg_update_blkio_group_stats(struct blkio_group *blkg, > >> - ? ? ? ? ? ? ? ? ? ? unsigned long time, unsigned long sectors); > >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned long time); > >> ?#else > >> ?struct cgroup; > >> ?static inline struct blkio_cgroup * > >> @@ -123,8 +123,6 @@ blkiocg_del_blkio_group(struct blkio_group *blkg) { return 0; } > >> ?static inline struct blkio_group * > >> ?blkiocg_lookup_group(struct blkio_cgroup *blkcg, void *key) { return NULL; } > >> ?static inline void blkiocg_update_blkio_group_stats(struct blkio_group *blkg, > >> - ? ? ? ? ? ? ? ? ? ? unsigned long time, unsigned long sectors) > >> -{ > >> -} > >> + ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? unsigned long time) {} > >> ?#endif > >> ?#endif /* _BLK_CGROUP_H */ > >> diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c > >> index ef1680b..c18e348 100644 > >> --- a/block/cfq-iosched.c > >> +++ b/block/cfq-iosched.c > >> @@ -141,8 +141,6 @@ struct cfq_queue { > >> ? ? ? struct cfq_queue *new_cfqq; > >> ? ? ? struct cfq_group *cfqg; > >> ? ? ? struct cfq_group *orig_cfqg; > >> - ? ? /* Sectors dispatched in current dispatch round */ > >> - ? ? unsigned long nr_sectors; > >> ?}; > >> > >> ?/* > >> @@ -882,8 +880,7 @@ static inline unsigned int cfq_cfqq_slice_usage(struct cfq_queue *cfqq) > >> ? ? ? ? ? ? ? ? ? ? ? slice_used = cfqq->allocated_slice; > >> ? ? ? } > >> > >> - ? ? cfq_log_cfqq(cfqq->cfqd, cfqq, "sl_used=%u sect=%lu", slice_used, > >> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? cfqq->nr_sectors); > >> + ? ? cfq_log_cfqq(cfqq->cfqd, cfqq, "sl_used=%u", slice_used); > > > > Hi Divyesh, > > > > I had found above message useful when I am looking at blktraces. It helps > > to know how many sectors one could transfer in a given time slice. > > Especially if you are comparing two queues in two groups. I think we are > > going to loose this information now? > Printing it for each request does not help, because I was interested total of once slice. How long was the slice and how many sectors we completed. Well, for the time being, don't worry about it. If I really need it I will put anohter patch to re-introduce it. Vivek > Would printing the number of sectors for each request help? If you > think this is really important we can keep this redundant information > as well. > > > > > Vivek > > > >> ? ? ? return slice_used; > >> ?} > >> > >> @@ -917,8 +914,7 @@ static void cfq_group_served(struct cfq_data *cfqd, struct cfq_group *cfqg, > >> > >> ? ? ? cfq_log_cfqg(cfqd, cfqg, "served: vt=%llu min_vt=%llu", cfqg->vdisktime, > >> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? st->min_vdisktime); > >> - ? ? blkiocg_update_blkio_group_stats(&cfqg->blkg, used_sl, > >> - ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? cfqq->nr_sectors); > >> + ? ? blkiocg_update_blkio_group_stats(&cfqg->blkg, used_sl); > >> ?} > >> > >> ?#ifdef CONFIG_CFQ_GROUP_IOSCHED > >> @@ -1524,7 +1520,6 @@ static void __cfq_set_active_queue(struct cfq_data *cfqd, > >> ? ? ? ? ? ? ? cfqq->allocated_slice = 0; > >> ? ? ? ? ? ? ? cfqq->slice_end = 0; > >> ? ? ? ? ? ? ? cfqq->slice_dispatch = 0; > >> - ? ? ? ? ? ? cfqq->nr_sectors = 0; > >> > >> ? ? ? ? ? ? ? cfq_clear_cfqq_wait_request(cfqq); > >> ? ? ? ? ? ? ? cfq_clear_cfqq_must_dispatch(cfqq); > >> @@ -1869,7 +1864,6 @@ static void cfq_dispatch_insert(struct request_queue *q, struct request *rq) > >> ? ? ? elv_dispatch_sort(q, rq); > >> > >> ? ? ? cfqd->rq_in_flight[cfq_cfqq_sync(cfqq)]++; > >> - ? ? cfqq->nr_sectors += blk_rq_sectors(rq); > >> ?} > >> > >> ?/* > > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/