FreeBSD 12.0: IRQ pinning is not working as expected with cpuset

Bhargava Chenna Marreddy bhargava.marreddy at broadcom.com
Wed Sep 27 13:53:05 UTC 2017


Hi,



Can some please guide me in configuring IRQ pinning for Network driver?



Looks like IRQ pinning is not working as expected with cpuset command.



This is what I’m doing ..



1. Identify the IRQ number on rxq0

# vmstat -i | grep rxq0

irq271: bnxt0:rxq0 2 0



2. Read the current affinity mask:

#cpuset -g -x 271

irq 271 mask: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 21, 22, 23



3. Set CPU2 for IRQ 271

# cpuset -l 2 -x 271



4. Make sure by reading back ..

# cpuset -g -x 271

irq 271 mask: 2



5. Start TCP traffic, interrupts will be coming into IRQ 271 (rxq0) but
different CPU will be processing then (but not CPU 2).

As per ‘top –P’, cpu 2 is 100% free and different cpu is ~100% busy.



Thanks,

Chenna.


More information about the freebsd-net mailing list