[PATCH v4 3/9] coresight: etm4x: fix leaked trace id
Jie Gan
jie.gan at oss.qualcomm.com
Wed Apr 15 01:45:44 PDT 2026
On 4/15/2026 4:32 PM, Leo Yan wrote:
> On Wed, Apr 15, 2026 at 09:01:09AM +0100, Yeoreum Yun wrote:
>
> [...]
>
>>>> What I am thinking is as SoCs continue to grow more complex with an
>>>> increasing number of subsystems, trace IDs may be exhausted in the near
>>>> future. (that's why we have dynamic trace ID allocation/release).
>>>
>>> Thanks for the input.
>>>
>>> I am wandering if we can use "dev->devt" as the trace ID. A device's
>>> major/minor number is unique in kernel and dev_t is defined as u32:
>>>
>>> typedef u32 __kernel_dev_t;
>>>
>>> And we can consolidate this for both SYSFS and PERF modes.
>>>
>>
>> When I see the CORESIGHT_TRACE_ID_MAX:
>>
>> /* architecturally we have 128 IDs some of which are reserved */
>> #define CORESIGHT_TRACE_IDS_MAX 128
>>
>> I think this came from the hardware restriction for number of TRACE_IDs.
>> In this case, clamping the device_id to trace_id seems more complex and
>> reduce some performance perspective.
>
> Sigh, my stupid. Please ignore my previous comment, let us first fix
> ID leak issue.
>
> Given Jie's comment on the use-out issue, it is valid for me especially
> if a system have many dummy tracers. We can defer to refactor it
> later (e.g., use separate ranges for hardware and dummy tracers).
>
> thanks for correction!
Just share some info:
With my memory, The ARM AMBA ATB Protocol Specification defined a 7-bit
width field for the trace ID, that's where the 128 comes from. (in each
frame, we also have 7-bit field for containing the trace ID)
Thanks,
Jie
More information about the linux-arm-kernel
mailing list