• Masami Hiramatsu's avatar
    perf probe: Fix to show ranges of variables in functions without entry_pc · af04dd2f
    Masami Hiramatsu authored
    Fix to show ranges of variables (--range and --vars option) in functions
    which DIE has only ranges but no entry_pc attribute.
    
    Without this fix:
    
      # perf probe --range -V clear_tasks_mm_cpumask
      Available variables at clear_tasks_mm_cpumask
      	@<clear_tasks_mm_cpumask+0>
      		(No matched variables)
    
    With this fix:
    
      # perf probe --range -V clear_tasks_mm_cpumask
      Available variables at clear_tasks_mm_cpumask
    	@<clear_tasks_mm_cpumask+0>
    		[VAL]	int	cpu	@<clear_tasks_mm_cpumask+[0-35,317-317,2052-2059]>
    
    Committer testing:
    
    Before:
    
      [root@quaco ~]# perf probe --range -V clear_tasks_mm_cpumask
      Available variables at clear_tasks_mm_cpumask
              @<clear_tasks_mm_cpumask+0>
                      (No matched variables)
      [root@quaco ~]#
    
    After:
    
      [root@quaco ~]# perf probe --range -V clear_tasks_mm_cpumask
      Available variables at clear_tasks_mm_cpumask
              @<clear_tasks_mm_cpumask+0>
                      [VAL]   int     cpu     @<clear_tasks_mm_cpumask+[0-23,23-105,105-106,106-106,1843-1850,1850-1862]>
      [root@quaco ~]#
    
    Using it:
    
      [root@quaco ~]# perf probe clear_tasks_mm_cpumask cpu
      Added new event:
        probe:clear_tasks_mm_cpumask (on clear_tasks_mm_cpumask with cpu)
    
      You can now use it in all perf tools, such as:
    
      	perf record -e probe:clear_tasks_mm_cpumask -aR sleep 1
    
      [root@quaco ~]# perf probe -l
        probe:clear_tasks_mm_cpumask (on clear_tasks_mm_cpumask@kernel/cpu.c with cpu)
      [root@quaco ~]#
      [root@quaco ~]# perf trace -e probe:*cpumask
      ^C[root@quaco ~]#
    
    Fixes: 349e8d26 ("perf probe: Add --range option to show a variable's location range")
    Signed-off-by: default avatarMasami Hiramatsu <mhiramat@kernel.org>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lore.kernel.org/lkml/157199323018.8075.8179744380479673672.stgit@devnote2Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    af04dd2f
dwarf-aux.c 33.2 KB