Changing kernel configuration options related to the SquashFS decompression

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

 



Hello,

While working on the change proposal https://fedoraproject.org/wiki/Changes/OptimizeSquashFS

I discovered that several kernel configuration options are set sub-optimally in Fedora. In RHEL 8, the optimal configuration is used. If we set those options to match RHEL 8, a performance improvement could be achieved while reading the SquashFS filesystem.

Below you can see an excerpt from the configuration help:

Set in RHEL 8:

SQUASHFS_FILE_DIRECT
      Directly decompress file data into the page cache.
      Doing so can significantly improve performance because
      it eliminates a memcpy and it also removes the lock contention
      on the single buffer.

SQUASHFS_DECOMP_MULTI_PERCPU
      By default Squashfs uses a single decompressor but it gives
      poor performance on parallel I/O workloads when using multiple CPU
      machines due to waiting on decompressor availability.

      This decompressor implementation uses a maximum of one
      decompressor per core.  It uses percpu variables to ensure
      decompression is load-balanced across the cores.

Set in Fedora:
SQUASHFS_DECOMP_SINGLE
      Traditionally Squashfs has used single-threaded decompression.
      Only one block (data or metadata) can be decompressed at any
      one time.  This limits CPU and memory usage to a minimum.

SQUASHFS_FILE_CACHE
      Decompress file data into an intermediate buffer and then
      memcopy it into the page cache.

The SquashFS filesystem is used on installation medium. So making the change I propose should improve the user experience during installation. It should also improve the user experience while booting from Fedora Live image.

Kind regards,

--
Bohdan Khomutskyi
Software engineer
Red Hat
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux