Re: [PATCH v3 6/6] stm class: ftrace: use different channel accroding to CPU

From: Tingwei Zhang
Date: Wed Sep 23 2020 - 00:39:22 EST


On Fri, Sep 18, 2020 at 08:45:52PM +0800, Alexander Shishkin wrote:
> Tingwei Zhang <tingwei@xxxxxxxxxxxxxx> writes:
>
> > @@ -63,6 +65,7 @@ static int __init stm_ftrace_init(void)
> > {
> > int ret;
> >
> > + stm_ftrace.data.nr_chans = num_possible_cpus();
>
> Not a problem with this patch necesarily, but this made me realize that
> .nr_chans may be larger than:
>
> (1) what the policy permits,
> (2) what the stm device can handle.
>
> While (1) the user can fix in the policy, they won't be able to fix (2),
> in which case they won't be able to use stm_ftrace at all. I'm thinking
> if a link-time callback would be good enough.
>

Hi Alex,

I'm not sure if I understand this correct. If the nr_chans requested by
stm_ftrace is larger than policy permits or stm device can handle,
stm_assign_first_policy() returns with error so stm_source_link_add()
will fail. User would notice that when link happens. There's not much
we can do if resource is not enough.

> Another thing is that .nr_chans needs to be a power of 2 at the moment.
>
I'll change to below.
stm_ftrace.data.nr_chans = roundup_pow_of_two(num_possible_cpus());
> Regards,
> --
> Alex
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel