EROFS Switches To Buffered I/O For File-Backed Mounts To Speed-Up Container Start Times

Written by Michael Larabel in Linux Storage on 18 December 2024 at 08:49 AM EST. 7 Comments
LINUX STORAGE
Back for the Linux 6.12 kernel EROFS introduced support for file-backed mounts to help with container and sandboxing use-cases. As part of the EROFS "fixes" merged yesterday to the Linux 6.13 kernel, file-backed mounts are now using buffered I/O by default to speed-up container start times.

Merged yesterday for next weekend's Linux 6.13-rc4 release are the EROFS fixes that include using buffered I/O by default for file-backed mounts.

Alibaba engineer Gao Xiang explained with the change:
For many use cases (e.g. container images are just fetched from remote),
performance will be impacted if underlay page cache is up-to-date but
direct i/o flushes dirty pages first.

Instead, let's use buffered I/O by default to keep in sync with loop
devices and add a (re)mount option to explicitly give a try to use
direct I/O if supported by the underlying files.

The container startup time is improved as below:
[workload] docker.io/library/workpress:latest
                                     unpack        1st run  non-1st runs
EROFS snapshotter buffered I/O file  4.586404265s  0.308s   0.198s
EROFS snapshotter direct I/O file    4.581742849s  2.238s   0.222s
EROFS snapshotter loop               4.596023152s  0.346s   0.201s
Overlayfs snapshotter                5.382851037s  0.206s   0.214s

So good for container start times. Those wanting the old behavior of using direct I/O for file-backed mounts with this open-source read-only file-system can use the "directio" mount option for restoring that usage.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week