On 11/22/21 12:40, Christoph Lameter wrote: > On Mon, 22 Nov 2021, Vlastimil Babka wrote: > >> It's no problem to have the real beginning of the object aligned, and the >> prepended header not. The code already does that before this patch for the >> kmalloc power-of-two alignments, where e.g. the object can be aligned to 256 >> bytes, but the prepended header to a smaller ARCH_KMALLOC_MINALIGN / >> ARCH_SLAB_MINALIGN. > > Ok but then the first object in a page may still have those issues. Hmm, that's right. I guess we should also distinguish ARCH_KMALLOC_MINALIGN for kmalloc paths, and ARCH_SLAB_MINALIGN for kmem_cache_alloc paths. Seems the latter is generally smaller, thus some holes left by kmalloc allocations could be filled later by kmem_cache_alloc allocations. > >> > I dont know but it seems that making slob that sophisticated is counter >> > productive. Remove SLOB? >> >> I wouldn't mind, but somebody might :) > > Well run a space efficiency analysis after this patch. If the memory used > is larger than SLUB (with the configuration for minimal data footprint) > then there is no reason for SLOB to continue. Makes sense.