Subject: [PATCH 10/11] coresight-etm4x: Controls pertaining to the context ID functions

From: [email-masked] (Christopher Covington)
Date: Thu, 23 Apr 2015 12:59:51 -0400

On 04/23/2015 11:16 AM, Mathieu Poirier wrote:
> On 23 April 2015 at 09:08, Christopher Covington <[email-masked]> wrote:
>> Hi Mathieu,
>>
>> On 04/22/2015 06:40 PM, Mathieu Poirier wrote:
>>> From: Pratik Patel <[email-masked]>
>>>
>>> Adding sysfs entries to access and configure specifics about the
>>> context ID comparator functions.
>>>
>>> Signed-off-by: Pratik Patel <[email-masked]>
>>> Signed-off-by: Mathieu Poirier <[email-masked]>
>>> ---
>>>  .../ABI/testing/sysfs-bus-coresight-devices-etm4x  |  19 +++
>>>  drivers/hwtracing/coresight/coresight-etm4x.c      | 187 +++++++++++++++++++++
>>>  2 files changed, 206 insertions(+)
>>>
>>> diff --git a/Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x b/Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x
>>> index b5c0456290ab..8b32cb7b9723 100644
>>> --- a/Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x
>>> +++ b/Documentation/ABI/testing/sysfs-bus-coresight-devices-etm4x
>>> @@ -254,3 +254,22 @@ Date:            April 2015
>>>  KernelVersion:       4.01
>>>  Contact:     Mathieu Poirier <[email-masked]>
>>>  Description:         (RW) Controls the selection of the resources in the trace unit.
>>> +
>>> +What:                /sys/bus/coresight/devices/<memory_map>.etm/ctxid_idx
>>> +Date:                April 2015
>>> +KernelVersion:       4.01
>>> +Contact:     Mathieu Poirier <[email-masked]>
>>> +Description: (RW) Select which context ID comparator to work with.
>>> +
>>> +What:                /sys/bus/coresight/devices/<memory_map>.etm/ctxid_val
>>> +Date:                April 2015
>>> +KernelVersion:       4.01
>>> +Contact:     Mathieu Poirier <[email-masked]>
>>> +Description: (RW) Get/Set the context ID comparator value to trigger on.
>>
>> If I'm understanding this correctly, ctxid_val is multiplexed using ctxid_idx.
>> Why not just have ctxid_val0, ctxid_val1, ...?
> 
> There can be up to 8 of them on the current implementation and who
> knows how many more in the future.  To me using and index to select
> the context ID to work on scaled better and is introducing less
> clutter in sysfs.

In theory there's a race condition if two tasks are trying to set the index
and then the value, which having individually addressable values solves, but I
don't anticipate trying to use more than one task to configure tracing.

Chris

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project