Re: [PATCH v2 2/6] slub: Use alloc_pages_node() in alloc_slab_page()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 10 Jul 2024, Vlastimil Babka wrote:

With this patch cgroup restrictions memory policies etc etc no longer work
in the slab allocator.

The only difference is memory policy from get_task_policy(), and the rest is
the same, right?

There are also the cpuset/cgroup restrictions via the zonelists that are bypassed by removing alloc_pages()

But this only affects new slab page allocation, while getting objects from
existing slabs isn't subject to memory policies, so now it's at least
consistent? Do you have some use case where it matters?

Yes this means you cannot redirect kmalloc based kernel metadata allocation when creating f.e. cgroups for another NUMA node. This affects all kernel metadata allocation during syscalls that used to be controllable via numa methods.

SLAB implemented memory allocations policies per object. SLUB moved that to implement these policies only when allocating a page frame. If this patch is left in then there wont be any support for memory allocation policies left in the slab allocators.

We have some internal patches now that implement memory policies on a per object basis for SLUB here.

This is a 10-15% regression on various benchmarks when objects like the scheduler statistics structures are misplaced.





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux