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