[[!template id=project

title="Kernel plugins for FS policy logic (research)"

contact="""
[tech-kern](mailto:tech-kern@NetBSD.org)
"""

category="filesystems"
difficulty="medium"

description="""
The policy code in the kernel that controls file caching and readahead behavior
is necessarily one-size-fits-all, and the knobs available to applications to
tune it, like madvise() and posix_fadvise(), are fairly blunt
hammers. Furthermore, it has been shown that the overhead from user<->kernel
domain crossings makes syscall-driven fine-grained policy control ineffective.
(Though, that was shown in the past when processors were much slower
relative to disks and it may not be true any more.)

Is it possible to use BPF, or create a different BPF-like tool (that
is, a small code generator with
very simple and very clear safety properties) to allow safe in-kernel
fine-grained policy control?

Caution: this is a research project.
"""
]]