This is a follow-up of [1]. There is no change in patch 1. Patch 2 has the following changes: - Update comments in patch 2. - Put rcu_read_lock/unlock() in blkcg_rstat_flush(). - Use READ_ONCE/WRITE_ONCE() to access lnode->next to reduce data races. - Get a blkg reference when putting into the lockless list and put it back when removed. [1] https://lore.kernel.org/lkml/20220601165324.60892-1-longman@xxxxxxxxxx/ Waiman Long (2): blk-cgroup: Correctly free percpu iostat_cpu in blkg on error exit blk-cgroup: Optimize blkcg_rstat_flush() block/blk-cgroup.c | 92 ++++++++++++++++++++++++++++++++++++++++++---- block/blk-cgroup.h | 9 +++++ 2 files changed, 93 insertions(+), 8 deletions(-) -- 2.31.1