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

From: Shu Ming
Date: Sun Mar 28 2021 - 21:59:39 EST


I am not sure how people are using partial object accounting. I
believe it is used as a memory usage hint of slabs.

On Mon, Mar 22, 2021 at 6:22 PM Vlastimil Babka <vbabka@xxxxxxx> wrote:
>
> 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.
> >
>