From: David Miller <davem@xxxxxxxxxxxxx> Date: Thu, 11 Dec 2014 15:24:17 -0500 (EST) > From: Sowmini Varadhan <sowmini.varadhan@xxxxxxxxxx> > Date: Thu, 11 Dec 2014 15:21:00 -0500 > >> All this may be true, but it would also be true for Solaris, which >> manages to do line-speed (for the exact same setup), so there must be >> some other bottleneck going on? > > They have DMA mapping interfaces which pre-allocate large batches > of mapping at a time. BTW, Solaris also does things which are remotely exploitable, so these optimizations that get them "line rate" have a serious cost. In their NIU driver, the recycle all buffers in an RX queue rather than allocating new buffers. This means that a maliciously running TCP application can read a lot of data from a bulk sender, then simply stop reading completely. This will put the entire RX queue of packets in limbo in the TCP stack, which will never be recycled back to the NIU driver, thus stalling all traffic completely which steers to that RX queue. So that, is how Solaris gets "line rate" with this kind of hardware. -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html