[regression] 5.15 kernel triggering 100x more inode evictions

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

 



Hello everybody;

I'd like to publicize again [1] the following bug that I reported for opensuse:
https://bugzilla.opensuse.org/show_bug.cgi?id=1193549


TLDR:
comment #46
Filipe Manana 2022-01-05 10:54:16 UTC
(In reply to Bruno Damasceno Freire from comment #45)
> k5.14.14-3 : @inode_evictions: 1715
> k5.15.12-1 : @inode_evictions: 166106
> k5.16~rc8  : @inode_evictions: 1715
That confirms the hypothesis. Somehow a 5.15 is triggering ~100x inode evictions, which will result in renames doing unnecessary inode logging.
As to why that is happening, I have no idea if anything in mm or vfs changed in some 5.15 release that results in triggering a lot more evictions.


Why am I doing this?
I got support from the btrfs developer Filipe Manana.
He saw some improvements opportunities and they are on the way for future releases of this filesystem.
The problem is that the regression is outside the btrfs code and the root cause wasn't found.
Filipe was guessing that the regression could be in the MM or VFS kernel subsystems.
I'm sending this to the linux-fsdevel mailing list first.
Tumbleweed isn't using the 5.15 kernel anymore but lots of distros are [2].
Until this issue is further evaluated, anyone using the combination of a 5.15 kernel + btrfs compression property can be caught by this regression.
Please tell if you think this subject would be of interest of another kernel subsystem.


How to reproduce:
I am an opensuse user, so I'm not sure on how to reproduce the issue on other distros.
Here are some updated instructions to reproduce it on tumbleweed:

--SETUP--------------------------------------------
1 get the installation image
  wget http://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso
2 create a basic VM
  11GB storage should be enought for the tumbleweed installer
3 install a server or a desktop version with btrfs
  no btrfs snapshots needed
4 downgrade the kernel (5.15.12-1.3 is the last version built for tumbleweed)
  wget http://download.opensuse.org/history/20220114/tumbleweed/repo/oss/x86_64/kernel-default-5.15.12-1.3.x86_64.rpm
  wget http://opensuse.zq1.de/history/20220107/tumbleweed/repo/oss/x86_64/kernel-default-5.15.12-1.3.x86_64.rpm
  zypper in --force ./kernel-default-5.15.12-1.3.x86_64.rpm
  boot the 5.15 kernel
5 get the affected package: libKF5Emoticons5 (4 minutes), gutenprint (32 minutes)...
  env LANGUAGE=eng zypper info libKF5Emoticons5 | grep Version
  wget http://download.opensuse.org/tumbleweed/repo/oss/x86_64/libKF5Emoticons5-(version).x86_64.rpm

--TEST---------------------------------------------
6 install the package: it should take a few seconds
  rpm --force -U -nodeps ./libKF5Emoticons5-(version).x86_64.rpm
7 enable any compression (zlib, lzo, zstd) on the package's destination folder with most files
  optional: rpm -ql libKF5Emoticons5 | less
  btrfs property set /usr/share/emoticons/EmojiOne compression zstd:1
8 retry to install: it should take much longer now !!!
  rpm --force -U -nodeps ./libKF5Emoticons5-(version).x86_64.rpm
9 disable compression
  btrfs property set /usr/share/emoticons/EmojiOne compression ""
10 retry to install: it should take a few secons again
   rpm --force -U -nodeps ./libKF5Emoticons5-(version).x86_64.rpm


TIA, Bruno


[1] https://lore.kernel.org/linux-fsdevel/MN2PR20MB251235DDB741CD46A9DD5FAAD24E9@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/T/#u

[2] http://distrowatch.org/search.php?pkg=linux&relation=similar&pkgver=5.15&distrorange=InAny#pkgsearch
EndeavourOS (2), Manjaro Linux (3), Pop!_OS (5), Ubuntu (6), Debian (7), Garuda Linux (8), Slackware Linux (15), PCLinuxOS (18), ArcoLinux (21), SparkyLinux (24), Alpine Linux (30), Bluestar Linux (40), Mageia (43), Linux Kodachi (47), Gentoo Linux (48), deepin (49), Kaisen Linux (52), Mabox Linux (55), Absolute Linux (56), GeckoLinux (67), siduction (75), Snal Linux (78), SystemRescue (85), NuTyX (88), Calculate Linux (101), IPFire (110), Clonezilla Live (114), Linux From Scratch (121), Slackel (123), Regata OS (129), Parted Magic (143), paldo GNU/Linux (255), AUSTRUMI (not active).



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [NTFS 3]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [NTFS 3]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux