Thread (29 messages) 29 messages, 6 authors, 2024-09-01

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

From: Bart Van Assche <bvanassche@acm.org>
Date: 2024-08-05 17:20:18

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:

  * 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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help