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