Doing it in a round-robin fashion will be disastrous for performance. Your cache miss rate will go through the roof and you'll hit the slow paths in the network stack most of the time.Right now all this is done in a tasklet within the softirqd and hence all landing up on the same CPU. On the receive side it'a packet handler that handles the traffic. On the tx side it's done within the transmit path of the packet. So would re-architecting this to move the rx packet handler to a different kernel thread(with smp affinity to one CPU) and tx to a different kernel thread(with SMP affinity to a different CPU) be advisable. What's the impact on cache miss and slowpath/fastpath in network stack. Thx, -Venkat -----Original Message----- From: Chris Snook [mailto:csnook@redhat.com] Sent: Wednesday, September 12, 2007 2:45 PM To: Venkat Subbiah Cc: linux-kernel@vger.kernel.org Subject: Re: irq load balancing Venkat Subbiah wrote: in the the So this overloaded. A little bit. It'll keep other IRQs on different CPUs, which will prevent other interrupts from causing cache and TLB evictions that could slow down the interrupt handler for the NIC. go to Doing it in a round-robin fashion will be disastrous for performance. Your cache miss rate will go through the roof and you'll hit the slow paths in the network stack most of the time. supported in /proc/irq/$FOO/smp_affinity is a bitmask. You can mask an irq to multiple processors. Of course, this will absolutely kill your performance. That's why irqbalance never does this. -- Chris -
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Artem Bityutskiy | [PATCH 18/44 take 2] [UBI] build unit implementation |
| James Morris | Re: LSM conversion to static interface |
git: | |
| Paul Jackson | [PATCH] cpuset sched_load_balance kmalloc fix |
| Gerrit Renker | [PATCH 15/37] dccp: Set per-connection CCIDs via socket options |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Linus Torvalds | Re: [GIT]: Networking |
