lkml.org 
[lkml]   [2022]   [Jun]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH v6 0/3] blk-cgroup: Optimize blkcg_rstat_flush()
Date
 v6:
- Add a missing free_percpu() into blkcg_css_free() in patch 3.
- Integrating the documentation patch 4 back into patch 3.

v5:
- Add a new patch 2 to eliminate the use of intermediate "ret"
variable in blkcg_css_alloc() to fix compilation warning reported
by kernel test robot.

v4:
- Update comment and eliminate "inline" keywords as suggested by TJ.

v3:
- 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.

This patch series improves blkcg_rstat_flush() performance by eliminating
unnecessary blkg enumeration and flush operations for those blkg's and
blkg_iostat_set's that haven't been updated since the last flush.

Waiman Long (3):
blk-cgroup: Correctly free percpu iostat_cpu in blkg on error exit
blk-cgroup: Return -ENOMEM directly in blkcg_css_alloc() error path
blk-cgroup: Optimize blkcg_rstat_flush()

block/blk-cgroup.c | 119 +++++++++++++++++++++++++++++++++++++++------
block/blk-cgroup.h | 9 ++++
2 files changed, 112 insertions(+), 16 deletions(-)

--
2.31.1

\
 
 \ /
  Last update: 2022-06-02 21:22    [W:0.244 / U:0.952 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site