lkml.org 
[lkml]   [2022]   [Apr]   [5]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.15 205/913] blk-cgroup: set blkg iostat after percpu stat aggregation
    Date
    From: Chengming Zhou <zhouchengming@bytedance.com>

    [ Upstream commit f122d103b564e5fb7c82de902c6f8f6cbdf50ec9 ]

    Don't need to do blkg_iostat_set for top blkg iostat on each CPU,
    so move it after percpu stat aggregation.

    Fixes: ef45fe470e1e ("blk-cgroup: show global disk stats in root cgroup io.stat")
    Signed-off-by: Chengming Zhou <zhouchengming@bytedance.com>
    Acked-by: Tejun Heo <tj@kernel.org>
    Link: https://lore.kernel.org/r/20220213085902.88884-1-zhouchengming@bytedance.com
    Signed-off-by: Jens Axboe <axboe@kernel.dk>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    block/blk-cgroup.c | 10 +++++-----
    1 file changed, 5 insertions(+), 5 deletions(-)

    diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
    index 0eec59e4df65..07a2524e6efd 100644
    --- a/block/blk-cgroup.c
    +++ b/block/blk-cgroup.c
    @@ -855,11 +855,11 @@ static void blkcg_fill_root_iostats(void)
    blk_queue_root_blkg(bdev->bd_disk->queue);
    struct blkg_iostat tmp;
    int cpu;
    + unsigned long flags;

    memset(&tmp, 0, sizeof(tmp));
    for_each_possible_cpu(cpu) {
    struct disk_stats *cpu_dkstats;
    - unsigned long flags;

    cpu_dkstats = per_cpu_ptr(bdev->bd_stats, cpu);
    tmp.ios[BLKG_IOSTAT_READ] +=
    @@ -875,11 +875,11 @@ static void blkcg_fill_root_iostats(void)
    cpu_dkstats->sectors[STAT_WRITE] << 9;
    tmp.bytes[BLKG_IOSTAT_DISCARD] +=
    cpu_dkstats->sectors[STAT_DISCARD] << 9;
    -
    - flags = u64_stats_update_begin_irqsave(&blkg->iostat.sync);
    - blkg_iostat_set(&blkg->iostat.cur, &tmp);
    - u64_stats_update_end_irqrestore(&blkg->iostat.sync, flags);
    }
    +
    + flags = u64_stats_update_begin_irqsave(&blkg->iostat.sync);
    + blkg_iostat_set(&blkg->iostat.cur, &tmp);
    + u64_stats_update_end_irqrestore(&blkg->iostat.sync, flags);
    }
    }

    --
    2.34.1


    \
     
     \ /
      Last update: 2022-04-05 22:00    [W:3.575 / U:0.072 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site