Re: Regarding patch "block/blk-mq: Don't complete locally if capacities are different"

Qais Yousef
2024-08-09T00:28:13Z

On 08/05/24 10:17, Bart Van Assche wrote:
> On 8/4/24 7:07 PM, Qais Yousef wrote:
> > irqbalancers usually move the interrupts, and I'm not sure we can
> > make an assumption about the reason an interrupt is triggering on
> > different capacity CPU.
> User space software can't modify the affinity of managed interrupts.
> From include/linux/irq.h:

True. But this is special case and was introduced for isolated CPUs. I don't
think drivers can request this themselves.

>
> * IRQD_AFFINITY_MANAGED - Affinity is auto-managed by the kernel
>
> That flag is tested by the procfs code that implements the smp_affinity
> procfs attribute:
>
> static ssize_t write_irq_affinity(int type, struct file *file,
> const char __user *buffer, size_t count, loff_t *pos)
> {
> [ ... ]
> if (!irq_can_set_affinity_usr(irq) || no_irq_affinity)
> return -EIO;
> [ ... ]
> }
>
> I'm not sure whether or not the interrupts on Manish test setup are
> managed. Manish, can you please provide the output of the following
> commands?
>
> adb shell 'grep -i ufshcd /proc/interrupts'
> adb shell 'grep -i ufshcd /proc/interrupts | while read a b; do ls -ld
> /proc/irq/${a%:}/smp_affinity; done'
> adb shell 'grep -i ufshcd /proc/interrupts | while read a b; do grep -aH .
> /proc/irq/${a%:}/smp_affinity; done'
>
> Thanks,
>
> Bart.