Re: [PATCH] iommu/tegra241-cmdqv: do not call smp_processor_id in preemptible context

From: Sebastian Andrzej Siewior
Date: Tue Nov 19 2024 - 02:15:30 EST


On 2024-11-18 21:19:28 [-0300], Luis Claudio R. Goncalves wrote:
> With PREEMPT_RT enabled some of the calls to tegra241_cmdqv_get_cmdq()
> during boot will happen in preemptible context. As this function calls
> smp_processor_id(), these calls will trigger a "BUG: using smp_processor_id()
> in preemptible" backtrace if DEBUG_PREEMPT is enabled.

If this is only on PREEMPT_RT, where is the disabled preemption coming
from on !PREEMPT_RT?

> As tegra241_cmdqv_get_cmdq() only calls smp_processor_id() to use the
> CPU number as a factor to balance out traffic on cmdq usage, it is safe
> to use raw_smp_processor_id() here.
>
> Signed-off-by: Luis Claudio R. Goncalves <lgoncalv@xxxxxxxxxx>

Sebastian