Date: Sat, 20 Sep 2008 23:36:40 +0800 From: "Jian Qiu" <swordqiu@gmail.com> To: "Kevin Oberman" <oberman@es.net> Cc: freebsd-net@freebsd.org Subject: Re: What's the status of parallel netisr? Message-ID: <e8520310809200836s159f6f70h3b38bfd9bfc9d91d@mail.gmail.com> In-Reply-To: <20080918185827.E05DA45047@ptavv.es.net> References: <e8520310809180750h41ddd3e9tb83f20953f1c8095@mail.gmail.com> <20080918185827.E05DA45047@ptavv.es.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Kevin, > > Did you try locking down the CPUs used with cpuset (FreeBSD) or taskset > (Linux)? This can make a very substantial difference. Something like a > UDP canon will run far more efficiently if locked to a single CPU and > will run best if that CPU is not processing the interrupts. As far as I know, on the sending path, a UDP packet will be directly put on the sending queue of the relevant NIC. The UDP stack codes are executed on the CPU where the sending application is running. On the receiving path, iIf the packet is received from a loopback interface, the UDP stack codes are executed in the context of netisr softirq. Did you mean I should bind the sending application to one CPU and netsir softirq to another CPU? Thanks. Jian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?e8520310809200836s159f6f70h3b38bfd9bfc9d91d>