Re: [GIT PULL] slab updates for 6.10

From: Linus Torvalds
Date: Mon May 13 2024 - 13:34:16 EST


On Thu, 9 May 2024 at 07:25, Vlastimil Babka <vbabka@xxxxxxx> wrote:
>
> To avoid affecting fast paths with another shared counter (attempted in the
> past) or complex partial list traversal schemes that allow rescheduling, the
> chosen solution resorts to approximation - when the partial list is over
> 10000 slabs long, we will only traverse first 5000 slabs from head and tail
> each and use the average of those to estimate the whole list. Both head and
> tail are used as the slabs near head to tend to have more free objects than
> the slabs towards the tail.

I suspect you could have cut this down by an order of magnitude, and
made the limit be just 1k slabs rather than 10k slabs. Or even
_another_ order of magnitude smaller.

Somebody was being a bit too worried about approximations, methinks -
but I think the real worry goes the other way, where it's practically
so hard to even hit the approximation situation that it gets no
testing at all.

IOW, I suspect it's better to be explicit about approximations, and
have people aware of it, rather than be overly cautious and have it be
a special case that almost never triggers in any normal loads.

But pulled.

Linus