News for hackers. Stuff that matters.
Re:GNU/Hurd strikes back: How to use the legendary OS in a (... by bityard on Monday August 07, 2023 @03:23PM (#37039578)
> Most microkernels are small enough to fit in the L3 cache

Is that important, though? As soon as you start processing any meaningful amount of data, won't your OS be evicted from the cache anyway?

> unless you are compiling your kernel specifically for your machine, your kernel is going to be a bloated compromise of the set of drivers that your system is most likely to see. That means that you will have dozens, if not hundreds of drivers compiled into your kernel which will never need to be used.

I'm not sure this is true. Device drivers are typically compiled as modules, which are only loaded into the kernel if needed. Common wisdom among Linux power users for the last decade or so has been that compiling your own kernel for any tangible performance/memory improvement is basically futile.

Are there exceptions to this that you are aware of, and can elaborate on?

Re:GNU/Hurd strikes back: How to use the legendary OS in a (... by darksaints on Monday August 07, 2023 @03:42PM (#37039870)
> Is that important, though? As soon as you start processing any meaningful amount of data, won't your OS be evicted from the cache anyway?

Writable caches yes. However many (most?) modern processors also contain an code-only cache which can be used for OS caching without any need to flush. The raspberry pi 4 can fit many modern microkernels in their tiny immutable cache, so it gains a massive caching benefit by being small.

> Are there exceptions to this that you are aware of, and can elaborate on?

You’re probably right, I was unaware of the extent of the kernel module usage. Regardless, the smallest common kernel in use that I know about is for alpine Linux and that is still at least 100MB, which is dramatically larger than the <1MB microkernels that are typically available.