Re: [RFC PATCH 00/15] kmem_cache instances with static storage duration
From: Christoph Lameter (Ampere)
Date: Wed Jan 14 2026 - 19:46:11 EST
On Sat, 10 Jan 2026, Al Viro wrote:
> 1) as it is, struct kmem_cache is opaque for anything outside of a few
> files in mm/*; that avoids serious headache with header dependencies,
> etc., and it's not something we want to lose. Solution: struct
> kmem_cache_opaque, with the size and alignment identical to struct
> kmem_cache. Calculation of size and alignment can be done via the same
> mechanism we use for asm-offsets.h and rq-offsets.h, with build-time
> check for mismatches. With that done, we get an opaque type defined in
> linux/slab-static.h that can be used for declaring those caches.
> In linux/slab.h we add a forward declaration of kmem_cache_opaque +
> helper (to_kmem_cache()) converting a pointer to kmem_cache_opaque
> into pointer to kmem_cache.
Hmmm. A new kernel infrastructure feature: Opaque objects
Would that an deserve a separate abstraction so it is usable by other
subsystems?