Zero copy sockets question
Dung Patrick
dkt at digitalme.com
Thu Feb 12 06:33:14 PST 2004
Correct me if I am wrong:
To use the zero copy 'receive' on i386, you need to set the MTU to 4096 byt=
es(page size) or 4096 multiples.
If it is true, until zero copy receive can do auto fitting, I think zero co=
py receive is more useful in gigabit ethernet than in fast ethernet (I as=
sume MTU 1500(or smaller) is suitable for fast ethernet/Internet.)
Patrick
-----Original Message-----
From: Andrew Gallatin <gallatin at cs.duke.edu>
To: Dung Patrick <dkt at digitalme.com>
Date: Thu, 12 Feb 2004 09:17:46 -0500 (EST)
Subject: Re: Zero copy sockets question
Dung Patrick writes:
> Hi
>=20
> I have read http://people.freebsd.org/~ken/zero_copy/
>=20
> To correctly use zero copy receive, it seems it need to set the MTU to:
> have to be at least page sized, and be aligned on page boundaries.
Yes.
> So is the default MTU for ethernet network card 1500 works?
No, you need to have an MTU of at least PAGE_SIZE + headers.
And a NIC which is smart enough to do the header splitting.
Currently, the Alteon Tigon2 is the only nic which fits the bill.
I keep meaning to implement header splitting in the Myricom Myrinet
firmware, and I keep not getting time for it..
Note that send-side zero-copy works on any NIC, and with a standard
MTU.
Drew
More information about the freebsd-hackers
mailing list