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 -- [email protected]
To unsubscribe send an email to [email protected]
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/[email protected]

Reply via email to