Re: [PATCH v10 0/3] blk-cgroup: Optimize blkcg_rstat_flush()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 11/4/22 20:58, Waiman Long wrote:
  v10:
   - Update patch 3 to rename the rstat function to
     cgroup_rstat_css_cpu_flush().

  v9:
   - Remove patch "llist: Allow optional sentinel node terminated lockless
     list" for now. This will be done as a follow-up patch.
   - Add a new lqueued field to blkg_iostat_set to store the status of
     whether lnode is in a lockless list.
   - Add a new patch 3 to speed up the freeing of blkcg by flushing out
     the rstat lockless lists at blkcg offline time.

  v8:
   - Update the llist patch to make existing llist functions and macros
     work for both NULL and sentinel terminated lockless list as much
     as possible and leave only the initialization and removal functions
     to have a sentinel terminated llist variants.

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: Return -ENOMEM directly in blkcg_css_alloc() error path
   blk-cgroup: Optimize blkcg_rstat_flush()
   blk-cgroup: Flush stats at blkgs destruction path

  block/blk-cgroup.c     | 103 +++++++++++++++++++++++++++++++++++------
  block/blk-cgroup.h     |  10 ++++
  include/linux/cgroup.h |   1 +
  kernel/cgroup/rstat.c  |  20 ++++++++
  4 files changed, 119 insertions(+), 15 deletions(-)

Jens, do you have any further comment on this patchset? Is it possible to queue it for the next Linux version?

Cheers,
Longman




[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux