On Thu 21-01-21 19:19:21, Vlastimil Babka wrote: [...] > We could also start questioning the very assumption that number of cpus should > affect slab page size in the first place. Should it? After all, each CPU will > have one or more slab pages privately cached, as we discuss in the other > thread... So why make the slab pages also larger? I do agree. What is the acutal justification for this scaling? /* * Attempt to find best configuration for a slab. This * works by first attempting to generate a layout with * the best configuration and backing off gradually. * * First we increase the acceptable waste in a slab. Then * we reduce the minimum objects required in a slab. */ doesn't speak about CPUs. 9b2cd506e5f2 ("slub: Calculate min_objects based on number of processors.") does talk about hackbench "This has been shown to address the performance issues in hackbench on 16p etc." but it doesn't give any more details to tell actually _why_ that works. This thread shows that this is still somehow related to performance but the real reason is not clear. I believe we should be focusing on the actual reasons for the performance impact than playing with some fancy math and tuning for a benchmark on a particular machine which doesn't work for others due to subtle initialization timing issues. Fundamentally why should higher number of CPUs imply the size of slab in the first place? -- Michal Hocko SUSE Labs