relationship between cpu_affinity and Packet RX Processing

Rami Rosen roszenrami at gmail.com
Tue Mar 26 15:31:01 EDT 2013


Hi,

1) You can be sure that it does not use more than one rx queue.

You can find more info about RX queues in
http://media.wix.com/ugd//295986_4ef6dbdf11fd0a7f74f09741b4b5b2ee.pdf

(I wrote it, a shameless plug...)

2) Does the irqbalance service, which is common in some distros, is
running ? can you try to disable it and run traffic again and check
/proc/interrupts afrer some time ?

3) regardless of 2 (meaning not stopping irqbalance if it was active)
can you please try "taskset 02 ping www.google.com" and tell us
whether interrupts were incremented on the second CPU ? (please send
/proc/interrupts | grep eth0 before and after sending, let's say, 5
pings)?

Rgs,
Rami Rosen
http://ramirose.wix.com/ramirosen


On Tue, Mar 26, 2013 at 9:05 PM, Kumar amit mehta <gmate.amit at gmail.com> wrote:
> On Tue, Mar 26, 2013 at 08:35:56PM +0200, Rami Rosen wrote:
>> 1) Regarding rx queues: what does
>> "ls /sys/class/net/eth0/queues"
>> show ?
>>
>
> $ ls /sys/class/net/eth0/queues
> rx-0  tx-0
>
>> 2) can you try setting affinity for working only with CPU3
>> and see what happens after some traffic is sent by
>> cat /proc/interrupts?
>>
> # echo 8 > /proc/irq/19/smp_affinity
> # cat /proc/irq/19/smp_affinity
> 08
>
> $ cat /proc/interrupts |grep eth0
> 19:      20635         78        387       1857   IO-APIC-fasteoi   eth0
> $ cat /proc/interrupts |grep eth0
> 19:      20635         78        387       3041   IO-APIC-fasteoi   eth0
>
> Now only, CPU3 is processing the packets.
> So, i think, this driver(pcnet32) is not using multiple Rx Queue.



More information about the Kernelnewbies mailing list