lkml.org 
[lkml]   [2009]   [May]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [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


    \
     
     \ /
      Last update: 2009-05-07 00:23    [W:4.086 / U:0.160 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site