• Yang Shi's avatar
    mm: khugepaged: fix the arguments order in khugepaged_collapse_file trace point · 37f0b47c
    Yang Shi authored
    The "addr" and "is_shmem" arguments have different order in TP_PROTO and
    TP_ARGS.  This resulted in the incorrect trace result:
    
    text-hugepage-644429 [276] 392092.878683: mm_khugepaged_collapse_file:
    mm=0xffff20025d52c440, hpage_pfn=0x200678c00, index=512, addr=1, is_shmem=0,
    filename=text-hugepage, nr=512, result=failed
    
    The value of "addr" is wrong because it was treated as bool value, the
    type of is_shmem.
    
    Fix the order in TP_PROTO to keep "addr" is before "is_shmem" since the
    original patch review suggested this order to achieve best packing.
    
    And use "lx" for "addr" instead of "ld" in TP_printk because address is
    typically shown in hex.
    
    After the fix, the trace result looks correct:
    
    text-hugepage-7291  [004]   128.627251: mm_khugepaged_collapse_file:
    mm=0xffff0001328f9500, hpage_pfn=0x20016ea00, index=512, addr=0x400000,
    is_shmem=0, filename=text-hugepage, nr=512, result=failed
    
    Link: https://lkml.kernel.org/r/20241012011702.1084846-1-yang@os.amperecomputing.com
    Fixes: 4c9473e8 ("mm/khugepaged: add tracepoint to collapse_file()")
    Signed-off-by: default avatarYang Shi <yang@os.amperecomputing.com>
    Cc: Gautam Menghani <gautammenghani201@gmail.com>
    Cc: Steven Rostedt (Google) <rostedt@goodmis.org>
    Cc: <stable@vger.kernel.org>    [6.2+]
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    37f0b47c
huge_memory.h 6.54 KB