Re: [PATCH V4] mm: fix kernel crash in khugepaged thread

From: yalin wang
Date: Sun Nov 15 2015 - 20:36:02 EST



> On Nov 13, 2015, at 22:01, Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> On Fri, 13 Nov 2015 19:54:11 +0800
> yalin wang <yalin.wang2010@xxxxxxxxx> wrote:
>
>>>>> TP_fast_assign(
>>>>> __entry->mm = mm;
>>>>> - __entry->pfn = pfn;
>>>>> + __entry->pfn = page_to_pfn(page);
>>>>
>>>> Instead of the condition, we could have:
>>>>
>>>> __entry->pfn = page ? page_to_pfn(page) : -1;
>>>
>>> I agree. Please do it like this.
>
> hmm, pfn is defined as an unsigned long, would -1 be the best.
> Or should it be (-1UL).
>
> Then we could also have:
>
> TP_printk("mm=%p, scan_pfn=0x%lx%s, writable=%d, referenced=%d, none_or_zero=%d, status=%s, unmapped=%d",
> __entry->mm,
> __entry->pfn == (-1UL) ? 0 : __entry->pfn,
> __entry->pfn == (-1UL) ? "(null)" : "",
>
> Note the added %s after %lx I have in the print format.
>
> -- Steve
it is not easy to print for perf tools in userspace ,
if you use this format ,
for user space perf tool, it print the entry by look up the member in entry struct by offset ,
you print a dynamic string which user space perf tool donât know how to print this string .

Thanks --
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/