• Tejun Heo's avatar
    blkcg: move io_service_bytes and io_serviced stats into blkcg_gq · 77ea7338
    Tejun Heo authored
    Currently, both cfq-iosched and blk-throttle keep track of
    io_service_bytes and io_serviced stats.  While keeping track of them
    separately may be useful during development, it doesn't make much
    sense otherwise.  Also, blk-throttle was counting bio's as IOs while
    cfq-iosched request's, which is more confusing than informative.
    
    This patch adds ->stat_bytes and ->stat_ios to blkg (blkcg_gq),
    removes the counterparts from cfq-iosched and blk-throttle and let
    them print from the common blkg counters.  The common counters are
    incremented during bio issue in blkcg_bio_issue_check().
    
    The outputs are still filtered by whether the policy has
    blkg_policy_data on a given blkg, so cfq's output won't show up if it
    has never been used for a given blkg.  The only times when the outputs
    would differ significantly are when policies are attached on the fly
    or elevators are switched back and forth.  Those are quite exceptional
    operations and I don't think they warrant keeping separate counters.
    
    v3: Update blkio-controller.txt accordingly.
    
    v2: Account IOs during bio issues instead of request completions so
        that bio-based drivers can be handled the same way.
    Signed-off-by: default avatarTejun Heo <tj@kernel.org>
    Cc: Vivek Goyal <vgoyal@redhat.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    77ea7338
cfq-iosched.c 121 KB