Re: [PATCH V2 6/7] perf, x86: Use LBR call stack to get user callchain

From: Yan, Zheng
Date: Wed Oct 24 2012 - 08:46:25 EST


On 10/24/2012 08:36 PM, Stephane Eranian wrote:
> On Wed, Oct 24, 2012 at 2:31 PM, Andi Kleen <ak@xxxxxxxxxxxxxxx> wrote:
>> On Wed, Oct 24, 2012 at 02:21:43PM +0200, Stephane Eranian wrote:
>>> But still, if I do:
>>> $ perf record -g -e cpu/cycles/k ........
>>>
>>> Looks like your code will activate LBR cstack for user stack even
>>> though I don't use it.
>>> I know it won't generate any user samples (theoretically) but you are
>>> still commandeering
>>> the LBR resource which other events may want to use.
>>
>> You can disable it in sysfs. LBR is a power user feature and they will
>> know how to do this.
>>
> But isn't the whole point of the patch to hide LBR cstack from users so they
> won't know they're using it for user cstack?
>
> To disable it in sysfs, I need to know it's being used in the first place.
> You're saying, I need to know it is used only for user cstack and if I don't
> need it then I need to disable it explicitly. I also suspect using it
> for nothing
> may have some performance implication because you are saving/restoring
> on ctxsw, for instance.
>
> I think in x86_pmu_hw_config(), you could simply check the priv level
> restrictions on the event. If exclude_user is set, then don't active LBR cstack
> and that's it. That's what I was trying to get to...
>

I will add that check

Thanks
Yan, Zheng

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