Re: [RESEND RFC v4 1/3] mm: add tracepoint for scanning pages
From: Ebru Akagunduz
Date: Sat Sep 05 2015 - 15:25:10 EST
On Fri, Sep 04, 2015 at 12:44:59PM -0400, Rik van Riel wrote:
> 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
I use perf tool to test changes.
>
> 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?
>
I did similar changes with Vlastimil's patch. It works!
Thanks,
Ebru
--
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/