On 02/20/09 00:44, Garrett D'Amore wrote:
Joost Mulders wrote:

[...]

Line 1287: I see you're using desballoc. For a 100M driver, I think this adds complexity that is questionable.
For modern CPU's, the extra complexity of "zero copy" for a 100M device does not outweigh the advantage of an easy maintainable driver.
However, I specifically wrote this driver for use on my 600Mhz VIA C3,
(http://joostm.nl/solaris/onix/), and on this box, it matters. Every cycle not spend on copying data, is used for something useful.

But with normal sized ethernet packets, you may find that the cost of doing the DMA machinations may approach the cost of doing the copying. Especially when you add locking that you're currently missing.

Even a 600MHz Via C3 shouldn't matter much with 100M.

With smaller packets (e.g. typical for HTTP) the copy will always win. The tradeoff varies from one platform to another, but any "modern" (i.e. anything made this decade) system will probably do better copying at least up to 1K.


Indeed. When Joost and I ported the DLPI version of qfe/hme to x86 some years ago, I found that just always bcopy-ing was as fast/efficient as doing "zero copy", even on a VIA C3.

Menno
--
Menno Lageman - Sun Microsystems - http://blogs.sun.com/menno
_______________________________________________
driver-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/driver-discuss

Reply via email to