[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090506215833.GK8180@redhat.com>
Date: Wed, 6 May 2009 17:58:33 -0400
From: Vivek Goyal <vgoyal@...hat.com>
To: "IKEDA, Munehiro" <m-ikeda@...jp.nec.com>
Cc: nauman@...gle.com, dpshah@...gle.com, lizf@...fujitsu.com,
mikew@...gle.com, fchecconi@...il.com, paolo.valente@...more.it,
jens.axboe@...cle.com, ryov@...inux.co.jp, fernando@....ntt.co.jp,
s-uchida@...jp.nec.com, taka@...inux.co.jp,
guijianfeng@...fujitsu.com, jmoyer@...hat.com,
dhaval@...ux.vnet.ibm.com, balbir@...ux.vnet.ibm.com,
linux-kernel@...r.kernel.org,
containers@...ts.linux-foundation.org, righi.andrea@...il.com,
agk@...hat.com, dm-devel@...hat.com, snitzer@...hat.com,
akpm@...ux-foundation.org
Subject: Re: [PATCH 18/18] io-controller: Debug hierarchical IO scheduling
On Wed, May 06, 2009 at 05:40:43PM -0400, IKEDA, Munehiro wrote:
> Hi Vivek,
>
> Patching and compilation error occurred on the 18/18 patch.
> I know this is a patch for debug but report them in case.
>
>
> Vivek Goyal wrote:
> > @@ -2203,6 +2241,25 @@ EXPORT_SYMBOL(elv_get_slice_idle);
> > void elv_ioq_served(struct io_queue *ioq, bfq_service_t served)
> > {
> > entity_served(&ioq->entity, served, ioq->nr_sectors);
>
> Patch failed due to this line. I guess this should be
>
> entity_served(&ioq->entity, served);
>
>
> > +
> > +#ifdef CONFIG_DEBUG_GROUP_IOSCHED
> > + {
> > + struct elv_fq_data *efqd = ioq->efqd;
> > + char path[128];
> > + struct io_group *iog = ioq_to_io_group(ioq);
> > + io_group_path(iog, path, sizeof(path));
> > + elv_log_ioq(efqd, ioq, "ioq served: QSt=0x%lx QSs=0x%lx"
> > + " QTt=0x%lx QTs=0x%lx grp=%s GTt=0x%lx "
> > + " GTs=0x%lx rq_queued=%d",
> > + served, ioq->nr_sectors,
> > + ioq->entity.total_service,
> > + ioq->entity.total_sector_service,
> > + path,
> > + iog->entity.total_service,
> > + iog->entity.total_sector_service,
> > + ioq->nr_queued);
> > + }
> > +#endif
> > }
>
> Because
> io_entity::total_service
> and
> io_entity::total_sector_service
> are not defined, compilation failed if CONFIG_DEBUG_GROUP_IOSCHED=y
> here. (and everywhere referencing entity.total_service or entity.total_sector_service)
> They need to be defined like:
>
> diff --git a/block/elevator-fq.h b/block/elevator-fq.h
> index 1ea4ff3..6d0a735 100644
> --- a/block/elevator-fq.h
> +++ b/block/elevator-fq.h
> @@ -147,6 +147,10 @@ struct io_entity {
> unsigned short ioprio_class, new_ioprio_class;
>
> int ioprio_changed;
> +
> +#ifdef CONFIG_DEBUG_GROUP_IOSCHED
> + unsigned long total_service, total_sector_service;
> +#endif
> };
>
> /*
>
> Unfortunately I couldn't figure out where and how the members
> should be calculated, sorry.
Hi Ikeda,
I think there is some issue with applying the patch. I think you have
forgotten to apply following patch and that's why seeing all the issues.
"io-controller: Export disk time used and nr sectors dipatched through
cgroups"
This patch changes elv_ioq_served() at the same time introduced additional
field of total_sector_service etc.
Thanks
Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists