On 2024/12/12 21:43, Gao Xiang wrote:
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 enable direct I/O if supported by the underlying files. The container startup time is improved as below: 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 Fixes: fb176750266a ("erofs: add file-backed mount support") Cc: Derek McGowan <[email protected]> Signed-off-by: Gao Xiang <[email protected]>
Reviewed-by: Chao Yu <[email protected]> Thanks,
