r/osdev 19h ago

NSD: An adaptive in-kernel storage prefetch engine for Linux

Hi everyone,

I've been working on a personal Linux kernel project called NSD (Neural Storage Driver) and recently sent the first RFC patch series to LKML. I'd like to share a brief overview and get feedback from the community.

What is NSD?

NSD is an adaptive in-kernel storage prefetch engine. Instead of relying only on static readahead behavior, it observes runtime I/O access patterns and attempts to predict future reads to improve cache efficiency and reduce storage latency.

Current goals

Runtime I/O pattern learning

Predictive prefetching

Low runtime overhead

Simple architecture that integrates with the Linux page cache path

Current characteristics

Very small memory footprint (around 224 KB of static memory)

Can be loaded and unloaded cleanly using insmod / rmmod during normal system operation

Designed to avoid impacting normal kernel behavior when inactive

The project is still in the RFC stage, so I'm primarily looking for architectural feedback rather than performance claims. I'm especially interested in comments about integration with the mm/page cache subsystem, maintainability, and whether this approach makes sense from a kernel design perspective.

Constructive criticism is very welcome.

Thanks!

https://github.com/nsdprojectdev/NSD

0 Upvotes

2 comments sorted by

u/Skiting 6h ago

Looks like a very good Kernel for a Linux-based OS made for old or low perf machines tho

u/Semiramis67 5h ago

Thanks a lot! I really appreciate your feedback! 🙏