Public bug reported:

The current threaded IRQ implementation in spi-tegra210-quad suffers
from scheduler-induced latency on heavily loaded systems. The old
irq_thread() runs SCHED_FIFO but is pinned by the kernel to the IRQ
affinity mask (typically one CPU); when that CPU is saturated by RT
workloads (e.g. NCCL multicast) or by an SPI transaction coming from
a higher-priority context, the sleeping DMA/PIO wait inside the IRQ
thread cannot progress and wait_for_completion_timeout() in
transfer_one_message expires - even though the QSPI hardware
finished on time. This results in false timeout errors and WARN_ON
splats during normal operation.

Lore discussion: https://lore.kernel.org/linux-
tegra/[email protected]/

The patches are in linux-next:

e329b94b1e47 spi: tegra210-quad: Convert to hard IRQ with high-priority 
workqueue
1ff82c13ea94 spi: tegra210-quad: Cache TRANS_STATUS in ISR for timeout handler
252ee24aff97 spi: tegra210-quad: Process small PIO transfers in hard IRQ context

** Affects: linux-nvidia-bos (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2167046

Title:
  spi: tegra210-quad: Improve interrupt handling for loaded systems

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux-nvidia-bos/+bug/2167046/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to