News: 0001514898

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Pre-Content fanotify / fanotify Hierarchical Storage Management Expected For Linux 6.14

([Linux Storage] 26 December 06:22 AM EST pre-content fanotify)


Queued up by way of linux-fs.git's "for_next" Git branch is the fanotify HSM (Hierarchical Storage Management) implementation via the pre-content fanotify patch series.

This code has been worked on by Meta engineers for a while and already the code is used in production in Meta for fanotify-based Hierarchical Storage Management / Tiered Storage handling using the fanotify API. The fanotify API is used for notification and interception of file-system events.

Being worked on for several months has been the [1]pre-content hooks for fanotify worked on by Amir Goldstein and Josef Bacik. Bacik explained there:

"I did a bunch of testing, I also got some performance numbers. I copied a kernel tree, and then did remote-fetch, and then make -j4

Normal

real 9m49.709s

user 28m11.372s

sys 4m57.304s

HSM

real 10m6.454s

user 29m10.517s

sys 5m2.617s

So ~17 seconds more to build with HSM. I then did a make mrproper on both trees to see the size

[root@fedora ~]# du -hs /src/linux

1.6G /src/linux

[root@fedora ~]# du -hs dst

125M dst

This mirrors the sort of savings we've seen in production.

Meta has had these patches (minus the page fault patch) deployed in production for almost a year with our own utility for doing on-demand package fetching. The savings from this has been pretty significant.

The page-fault hooks are necessary for the last thing we need, which is on-demand range fetching of executables. Some of our binaries are several gigs large, having the ability to remote fetch them on demand is a huge win for us not only with space savings, but with startup time of containers."

The patches are queued up via [2]this merge to linux-fs.git for_next, so barring any last minute issues they should end up being merged for Linux 6.14 in the new year.



[1] https://lore.kernel.org/all/cover.1731684329.git.josef@toxicpanda.com/

[2] https://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs.git/commit/?h=for_next&id=3f1063103cf29ba66f7066d32a72778f99b7a046



phoronix

<ed__> riel: if it were a vax, gcc would probably be an opcode

- excerpt from #kernelnewbies