lkml.org 
[lkml]   [2009]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 18/19] io-controller: Debug hierarchical IO scheduling
    Vivek Goyal wrote:
    ...
    > +static inline void bfq_account_for_entity_addition(struct io_entity *entity)
    > +{
    > + struct io_group *iog = io_entity_to_iog(entity);
    > +
    > + if (iog) {
    > + struct elv_fq_data *efqd;
    > + char path[128];
    > +
    > + /*
    > + * Keep track of how many times a group has been removed
    > + * from active tree because it did not have any active
    > + * backlogged ioq under it
    > + */
    > + iog->queue++;
    > + iog->queue_start = jiffies;
    > +
    > + /* Log group addition event */
    > + rcu_read_lock();
    > + efqd = rcu_dereference(iog->key);
    > + if (efqd) {
    > + io_group_path(iog, path, sizeof(path));
    > + elv_log(efqd, "add group=%s weight=%ld", path,
    > + iog->entity.weight);

    Since cgroup path is already cached, why not use it. :)

    Signed-off-by: Gui Jianfeng <guijianfeng@cn.fujitsu.com>
    ---
    block/elevator-fq.c | 12 ++++--------
    1 files changed, 4 insertions(+), 8 deletions(-)

    diff --git a/block/elevator-fq.c b/block/elevator-fq.c
    index bfa79c9..1a397c3 100644
    --- a/block/elevator-fq.c
    +++ b/block/elevator-fq.c
    @@ -183,7 +183,6 @@ static inline void bfq_account_for_entity_addition(struct io_entity *entity)

    if (iog) {
    struct elv_fq_data *efqd;
    - char path[128];

    /*
    * Keep track of how many times a group has been removed
    @@ -197,9 +196,8 @@ static inline void bfq_account_for_entity_addition(struct io_entity *entity)
    rcu_read_lock();
    efqd = rcu_dereference(iog->key);
    if (efqd) {
    - io_group_path(iog, path, sizeof(path));
    - elv_log(efqd, "add group=%s weight=%ld", path,
    - iog->entity.weight);
    + elv_log(efqd, "add group=%s weight=%ld", iog->path,
    + iog->entity.weight);
    }
    rcu_read_unlock();
    }
    @@ -215,7 +213,6 @@ static inline void bfq_account_for_entity_deletion(struct io_entity *entity)

    if (iog) {
    struct elv_fq_data *efqd;
    - char path[128];

    iog->dequeue++;
    /* Keep a track of how long group was on active tree */
    @@ -227,9 +224,8 @@ static inline void bfq_account_for_entity_deletion(struct io_entity *entity)
    rcu_read_lock();
    efqd = rcu_dereference(iog->key);
    if (efqd) {
    - io_group_path(iog, path, sizeof(path));
    - elv_log(efqd, "del group=%s weight=%ld", path,
    - iog->entity.weight);
    + elv_log(efqd, "del group=%s weight=%ld", iog->path,
    + iog->entity.weight);
    }
    rcu_read_unlock();
    }
    --
    1.5.4.rc3




    \
     
     \ /
      Last update: 2009-06-19 08:33    [W:0.044 / U:0.064 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site