On Thu, Apr 11, 2019 at 02:52:08PM +0200, Vlastimil Babka wrote: > In the session I hope to resolve the question whether this is indeed the > right thing to do for all kmalloc() users, without an explicit alignment > requests, and if it's worth the potentially worse > performance/fragmentation it would impose on a hypothetical new slab > implementation for which it wouldn't be optimal to split power-of-two > sized pages into power-of-two-sized objects (or whether there are any > other downsides). I think this is exactly the kind of discussion that LSFMM is for! It's really a whole-system question; is Linux better-off having the flexibility for allocators to return non-power-of-two aligned memory, or allowing consumers of the kmalloc API to assume that "sufficiently large" memory is naturally aligned. Another possibility that should be considered is introducing a kmalloc() variant like posix_memalign() that allows for specifying the alignment, or just kmalloc_naturally_aligned(). And we probably need to reiterate for the benefit of those not following the discussion that creating a slab cache (which does allow for alignment to be specified) is impractical for this use case because the actual allocations are of variable size, but always need to be 512-byte aligned.