3 ms·
It's not possible to fix the first one (to merge the ARC with the Linux page cache), because the necessary page cache internals are GPL-only.
by mappu 4y ago
It's not possible to fix the first one (to merge the ARC with the Linux page cache), because the necessary page cache internals are GPL-only.
- quotemstr 4y agoIn that case, I'd need ZFS to provide a way to disable ARC: double caching isn't acceptable to me.
- derkades 4y agoYou wouldn't want to disable the ARC, since it is much better at caching than the simple kernel page cache
- nubinetwork 4y agoIf your system is all zfs, there shouldn't be much in the Linux cache, except for cache from NFS shares... At worst, if your uptime is over month, you could just run sync and echo 1 > /proc/sys/vm/drop_caches (but why, just reboot already, you probably have kernel upgrades anyways)
- p_l 4y agoThere's another issue where Linux pagecache doesn't support filesystem blocks larger than single hardware pages (and no large pages allowed), so ZFS would be hard limited to 4kB blocks on x86 etc. Also a lot of other fancy features would be broken by pagecache design, so it's a no-go, and instead project focused on reducing duplication between the two.
- mappu 4y agoThis was fixed recently in Linux by Matthew Wilcox and others, in a way that can benefit all Linux filesystems. Folios of pages were added in 5.16, the page cache was converted to use folios in 5.17, and large-folios were in 5.18.