[Devel] [PATCH rh7 0/3] ext4: speedup shrinking non-delay extents
    Konstantin Khorenko 
    khorenko at virtuozzo.com
       
    Fri Apr 13 13:08:47 MSK 2018
    
    
  
We faced a situation when all (32) cpus on a node content on sbi->s_es_lock
shrinking extents on a single superblock and
shrinking extents goes very slow (180 sec in average!).
crash> struct ext4_sb_info 0xffff882fcb7ca800 -p
  s_es_nr_inode = 3173832,
  s_es_stats = {
    es_stats_shrunk = 70,
    es_stats_cache_hits = 35182748,
    es_stats_cache_misses = 2622931,
    es_stats_scan_time = 182642303461,
    es_stats_max_scan_time = 276290979674,
This patchset speeds up parallel shrink a bit.
If we findout this is not enough, next step is to limit the number of shrinkers
working on a single superslock in parallel.
https://jira.sw.ru/browse/PSBM-83335
Jan Kara (1):
  ms/ext4: move handling of list of shrinkable inodes into extent status
    code
Konstantin Khorenko (1):
  ext4: don't iterate over sbi->s_es_list more than the number of
    elements
Waiman Long (1):
  ext4: Make cache hits/misses per-cpu counts
 fs/ext4/extents.c        |  2 --
 fs/ext4/extents_status.c | 56 +++++++++++++++++++++++++++++++++++++-----------
 fs/ext4/extents_status.h |  6 ++----
 fs/ext4/inode.c          |  2 --
 fs/ext4/ioctl.c          |  2 --
 fs/ext4/super.c          |  1 -
 6 files changed, 45 insertions(+), 24 deletions(-)
-- 
2.15.1
    
    
More information about the Devel
mailing list