On 12/12/2005 8:13 AM Ted Mittelstaedt wrote:

Michael,

 Fundamentally, here's the problem Danial is claiming exists:

it takes a certain amount of time to get the packet clocked in
from the network into the ethernet receiver.  This is hardware
dependent and cannot be changed.

It takes a certain amount of time to get the packet out of
the hardware in the ethernet card into main ram, this also
hardware dependent and cannot be changed. (unless the device
driver is terribly inefficient, which we will assume it's not)

Once in main ram, the information in the packet has to go through
a number of code statements.  The more code statements the
longer the information in the packet is sitting around in
the FreeBSD system's memory.

It then takes a certain amount of time to get the information
out of main memory into the other sending ethernet nic's buffers,

and it takes time to get it out of the sending nic back to the
wire.

Danial is claiming the slowness is in the main ram section of
things, not in the ethernet driver code.

polling makes the ethernet driver more efficient at high data
rates, but it does nothing for the speed of processing within
the TCPIP stack itself.  At low data rates polling is less
efficient than the interrupt method.  And unless the nic driver
is terribly inefficient to start with, the time it adds to the
packet path in the system is minor compared to the time spent
in the TCP/IP stack.

Ted

Thanks for the explanation. So would polling be beneficial or detrimental for a 100 mbps Ethernet card? Not sure if 100 mbps is considered "high" or "low" speed. I'm specifically interested in NetGear cards using the dc driver or DLink cards using the rl driver.

Thanks,

Drew

--
Visit The Alchemist's Warehouse
Magic Tricks, DVDs, Videos, Books, & More!

http://www.alchemistswarehouse.com

_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-questions
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to