Re: [RESEND RFC v4 1/3] mm: add tracepoint for scanning pages

From: Rik van Riel
Date: Fri Sep 04 2015 - 12:45:13 EST


On 09/04/2015 12:07 PM, Vlastimil Babka wrote:
> On 09/03/2015 10:51 PM, Ebru Akagunduz wrote:
>> Using static tracepoints, data of functions is recorded.
>> It is good to automatize debugging without doing a lot
>> of changes in the source code.
>>
>> This patch adds tracepoint for khugepaged_scan_pmd,
>> collapse_huge_page and __collapse_huge_page_isolate.
>>
>> Signed-off-by: Ebru Akagunduz <ebru.akagunduz@xxxxxxxxx>
>> Acked-by: Kirill A. Shutemov <kirill.shutemov@xxxxxxxxxxxxxxx>
>> Acked-by: Rik van Riel <riel@xxxxxxxxxx>
>> ---
>> Changes in v2:
>> - Nothing changed
>>
>> Changes in v3:
>> - Print page address instead of vm_start (Vlastimil Babka)
>> - Define constants to specify exact tracepoint result (Vlastimil Babka)
>>
>> Changes in v4:
>> - Change the constant prefix with SCAN_ instead of MM_ (Vlastimil Babka)
>> - Move the constants into the enum (Vlastimil Babka)
>> - Move the constants from mm.h to huge_memory.c
>> (because only will be used in huge_memory.c) (Vlastimil Babka)
>> - Print pfn in tracepoints (Vlastimil Babka)
>> - Print scan result as string in tracepoint (Vlastimil Babka)
>> (I tried to make same things to print string like mm/compaction.c.
>> My patch does not print string, I skip something but could not see why)
>
> How do you print the trace? Do you cat /sys/kernel/debug/tracing/trace_pipe
> or use some tool such as trace-cmd? I have just recently realized that tools
> don't print strings in the compaction tracepoints, which lead to a patch [1].
> You could convert this patch in the same way and then it should work with
> tracing tools. Sorry for previously suggesting a wrong example to follow.
>
> [1] https://lkml.org/lkml/2015/8/27/373

Well that explains why doing the same thing as compaction.c
resulted in the strings not being printed! Ebru and I got
confused over that for quite a while :)

Thanks for pointing us to the fix.

Ebru, can you use tracepoint macros like in Vlastimil's patch
above, so your tracepoints work?

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/