Re: [PATCH] mm: vmscan: add tracepoints for node reclaim

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/28/19 11:34 AM, Yafang Shao wrote:
> On Thu, Feb 28, 2019 at 6:21 PM Vlastimil Babka <vbabka@xxxxxxx> wrote:
>>
>> On 2/28/19 9:14 AM, Yafang Shao wrote:
>>> In the page alloc fast path, it may do node reclaim, which may cause
>>> latency spike.
>>> We should add tracepoint for this event, and also mesure the latency
>>> it causes.
>>>
>>> So bellow two tracepoints are introduced,
>>>       mm_vmscan_node_reclaim_begin
>>>       mm_vmscan_node_reclaim_end
>>>
>>> Signed-off-by: Yafang Shao <laoar.shao@xxxxxxxxx>
>>> ---
>>>  include/trace/events/vmscan.h | 48 +++++++++++++++++++++++++++++++++++++++++++
>>>  mm/vmscan.c                   | 13 +++++++++++-
>>>  2 files changed, 60 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/include/trace/events/vmscan.h b/include/trace/events/vmscan.h
>>> index a1cb913..9310d5b 100644
>>> --- a/include/trace/events/vmscan.h
>>> +++ b/include/trace/events/vmscan.h
>>> @@ -465,6 +465,54 @@
>>>               __entry->ratio,
>>>               show_reclaim_flags(__entry->reclaim_flags))
>>>  );
>>> +
>>> +TRACE_EVENT(mm_vmscan_node_reclaim_begin,
>>> +
>>> +     TP_PROTO(int nid, int order, int may_writepage,
>>> +             gfp_t gfp_flags, int zid),
>>> +
>>> +     TP_ARGS(nid, order, may_writepage, gfp_flags, zid),
>>> +
>>> +     TP_STRUCT__entry(
>>> +             __field(int, nid)
>>> +             __field(int, order)
>>> +             __field(int, may_writepage)
>>
>> For node reclaim may_writepage is statically set in node_reclaim_mode,
>> so I'm not sure it's worth including it.
>>
>>> +             __field(gfp_t, gfp_flags)
>>> +             __field(int, zid)
>>
>> zid seems wasteful and misleading as it's simply derived by
>> gfp_zone(gfp_mask), so I would drop it.
>>
> 
> I agree with you that may_writepage and zid is wasteful, but I found
> they are in other tracepoints in this file,
> so I place them in this tracepoint as well.

I see zid only in kswapd waking tracepoints? That's different kind of
event.

> Seems we'd better drop them from other tracepoints as well ?

Hmm seems may_writepage in other tracepoints depends on laptop_mode
which is also a static setting. do_try_to_free_pages() can override it
due to priority, but that doesn't affect the tracepoints. If they are to
be dropped, it would be a separate patch though.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux