Hi! This gets the buckets able to handle memcg (GFP_KERNEL_ACCOUNT) with isolation (since it's common due to AF_UNIX), and GFP_DMA with fall back (since it's rare). It gave me an excuse to build out bucket kunit tests too, and that (and LLM review) found a couple other issues that needed fixing too.
The bulk of this is mm/slab, but the final patch is netdev, which Paolo acked in v4, so I'm hoping this whole series can go via slab? Thanks! -Kees v5: - 2/7: kmem_buckets_create() and kmem_buckets_create_types() take an alignment, where kmem_cache_create() has it; 0 keeps v4's behaviour, the alignment of the kmalloc cache being mirrored. All callers pass 0. New subject: "mm/slab: Let kmem_buckets_create() take an alignment" (Harry) - 4/7: test that an explicit alignment is honored. - 5/7: export mem_cgroup_kmem_disabled() for KUnit only, fixing a modular build of slub_kunit (Harry). - 6/7: commit log shows the per-set cost of indexing rows by kmalloc_cache_type; test that an explicit alignment reaches the accounted row too. - 7/7: pass the new alignment argument. - Collected tags on 1/7 (Harry, Pedro, Hao) and 7/7 (Paolo). - v4..v5 diff: https://git.kernel.org/pub/scm/linux/kernel/git/kees/linux.git/diff/?id=dev/v7.3-rc2/skb-buckets/v5&id2=dev/v7.3-rc2/skb-buckets/v4 v4: https://lore.kernel.org/all/[email protected]/ v3: https://lore.kernel.org/all/[email protected]/ Kees Cook (6): mm/slab: Mark the kmem_buckets_create() context as a Context: section mm/slab: Let kmem_buckets_create() take an alignment mm/slab: Add kmem_buckets_destroy() mm/slab: Add tests for the existing kmem_buckets behaviour mm/slab: Provide kmalloc type fallback for bucket allocations mm/slab: Let a bucket set handle __GFP_ACCOUNT Pedro Falcato (1): net: skb: isolate skb data area allocations into a separate bucket include/linux/slab.h | 66 ++++++- mm/slab.h | 44 ++++- ipc/msgutil.c | 2 +- lib/tests/slub_kunit.c | 397 +++++++++++++++++++++++++++++++++++++++++ mm/memcontrol.c | 2 + mm/slab_common.c | 173 +++++++++++++++--- mm/util.c | 2 +- net/core/skbuff.c | 11 +- 8 files changed, 663 insertions(+), 34 deletions(-) -- 2.34.1

