IRQ pinning is not working as expected with cpuset

Can some one please suggest me in fixing this?
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.
 
Back
Top