[PATCH v5 09/11] coresight: etm4x: Add flag to control single-shot restart
Suzuki K Poulose
suzuki.poulose at arm.com
Tue Nov 11 01:43:13 PST 2025
On 11/11/2025 09:24, Leo Yan wrote:
> On Mon, Nov 10, 2025 at 11:37:52AM +0000, Suzuki Kuruppassery Poulose wrote:
>
> [...]
>
>>> -static int etm4_enable_hw(struct etmv4_drvdata *drvdata)
>>> +static int etm4_enable_hw(struct etmv4_drvdata *drvdata, bool restart_ss)
>>
>> While this looks to work, I wonder if we could manage this all in the config
>> ? i.e.,
>>
>> Use an extra field, say config->retain_single_shot_status, which defaults to
>> 0 and is always cleared once we pass through enable_hw.
>
> This is fine for me in general. I agree that adding an argument in
> etm4_enable_hw() is not scalable, though we can take a bit advantage
> of stack push and pop so no need cleanup.
>
> Before proceed, I would check another idea. Can we do this with
> is_idle_task()?
>
> if (!is_idle_task(current)) {
> if (config->ss_ctrl[i] || config->ss_pe_cmp[i])
> config->ss_status[i] &= ~TRCSSCSRn_STATUS;
> }
What happens when we do a system wide session and a CPU is running an
idle task ?
Suzuki
>
> As a result, we can avoid new flag and extra operatoins (set/clear) for
> the added flag.
>
> Note, this does not only impact CPU idle flow, this also applies on CPU
> hotplug flow (as CPU hotplug callback also runs in idle thread). I
> think this would be fine, no matter CPU idle or hotplug, we keep the
> single-shot state after the CPU resume back.
>
> Thoughts?
>
> Thanks,
> Leo
More information about the linux-arm-kernel
mailing list