Perf not resolving all symbols, showing 0x7ffffxxx

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Oct 17 10:01:48 EST 2013


On Wed, 2013-10-16 at 17:16 -0400, Martin Hicks wrote:

> That does fix the problem.  v3.11 with the following:
> 
> diff --git a/arch/powerpc/perf/core-book3s.c b/arch/powerpc/perf/core-book3s.c
> index eeae308..e91cf67 100644
> --- a/arch/powerpc/perf/core-book3s.c
> +++ b/arch/powerpc/perf/core-book3s.c
> @@ -124,7 +124,7 @@ static inline void power_pmu_bhrb_read(struct
> cpu_hw_events *cpuhw) {}
> 
>  static bool regs_use_siar(struct pt_regs *regs)
>  {
> -       return !!regs->result;
> +       return 0; //!!regs->result;
>  }

Ok, we probably need that function to do that on machines with no
backend :-) Either that or properly clear regs->result always.


I've had a quick look through perf and I admit I'm not sure of all the
ways perf ends up populating "regs" here and how many holes there is
in that scheme :-)

Anton? How do you know for sure regs is always be cooked by your stuff
(for regs->result) ?

Ben.




More information about the Linuxppc-dev mailing list