Re: [PATCH] perf/x86/intel/pt: Allow disabling branch tracing
From: Adrian Hunter
Date: Thu Apr 27 2017 - 04:17:26 EST
On 06/02/17 19:19, Andi Kleen wrote:
> On Mon, Feb 06, 2017 at 06:05:29PM +0200, Alexander Shishkin wrote:
>> Andi Kleen <andi@xxxxxxxxxxxxxx> writes:
>>
>>> Alexander Shishkin <alexander.shishkin@xxxxxxxxxxxxxxx> writes:
>>>
>>>> Now that Intel PT supports more types of trace content than just branch
>>>> tracing, it may be useful to allow the user to disable branch tracing
>>>> when it is not needed.
>>>>
>>>> The special case is BDW, where not setting BranchEn is not supported.
>>>>
>>>> This is slightly trickier than necessary, because up to this moment
>>>> the driver has been setting BranchEn automatically and the userspace
>>>> assumes as much. Instead of reversing the semantics of BranchEn, we
>>>> introduce a 'passthrough' bit, which will forego the default and allow
>>>> the user to set BranchEn to their heart's content.
>>>
>>> cpu/passthrough=1,branchen=1/ seems far uglier/more complicanted to me
>>> than the original cpu/nobranch=1/
>>
>> It's /passthrough=1,branch=0/ or simply /passthrough=1/.
>
> Ok, but still you have to list exactly to which flags passthrough
> applies to, and it will only ever be branchen.
It doesn't have to be that bad.
For Intel PT, perf tools already provides default config which the user must
override. So, when 'passthrough' is supported, the default config would
include 'passthrough=1,branch=1'. So then the user would only have to put
'branch=0' when they want no branches.