Re: [PATCH v4 1/3] mm/slub: Introduce two counters for partial objects

From: Vlastimil Babka
Date: Mon Mar 22 2021 - 06:23:26 EST


On 3/22/21 2:46 AM, Shu Ming wrote:
> More precisely, ss will count partial objects like denty objects with
> "/sys/kernel/slab/dentry/partial" whose number can become huge.

Uh, that's interesting. Would you know what exactly it uses the value for? I can
think of several reasons why it might be misleading.

> On Thu, Mar 18, 2021 at 8:56 PM Xunlei Pang <xlpang@xxxxxxxxxxxxxxxxx> wrote:
>>
>>
>>
>> On 3/18/21 8:18 PM, Vlastimil Babka wrote:
>> > On 3/17/21 8:54 AM, Xunlei Pang wrote:
>> >> The node list_lock in count_partial() spends long time iterating
>> >> in case of large amount of partial page lists, which can cause
>> >> thunder herd effect to the list_lock contention.
>> >>
>> >> We have HSF RT(High-speed Service Framework Response-Time) monitors,
>> >> the RT figures fluctuated randomly, then we deployed a tool detecting
>> >> "irq off" and "preempt off" to dump the culprit's calltrace, capturing
>> >> the list_lock cost nearly 100ms with irq off issued by "ss", this also
>> >> caused network timeouts.
>> >
>> > I forgot to ask, how does "ss" come into this? It displays network connections
>> > AFAIK. Does it read any SLUB counters or slabinfo?
>> >
>>
>> ss may access /proc/slabinfo to acquire network related slab statistics.
>