Re: Network compatibility and performance
From: Stephen Hemminger
Date: Thu Aug 10 2006 - 14:12:09 EST
On Thu, 10 Aug 2006 14:09:34 -0400
"linux-os \(Dick Johnson\)" <linux-os@xxxxxxxxxxxx> wrote:
> On Thu, 10 Aug 2006, Stephen Hemminger wrote:
> > On Thu, 10 Aug 2006 11:34:23 -0400
> > "linux-os \(Dick Johnson\)" <linux-os@xxxxxxxxxxxx> wrote:
> >> Hello,
> >> Network throughput is seriously defective with linux-22.214.171.124
> >> if the length given to 'write()' is a large number.
> >> Given this code on a connected socket........
> > What protocol (TCP?) and what Ethernet hardware (does it support TSO)?
> > Did you set non-blocking?
> A connected TCP socket. The Ethernet hardware was also
> described (Intel using e1000 as shown) It's on PCI-X 133MHz, two
> devices on the motherboard, not really relevent because it worked
> previously as described. TSO?
TSO = TCP segmentation Offload, if you are using e1000 it gets enabled.
Only slightly relevant to this, because it would change the timing.
> They went away in 1972. The socket was set to non-blocking because the
> same socket is used for reading (not at the same time), using poll()
> to find when data are supposed to be available. BTW, read() code
> used to use poll() to find out when data were available, but if
> poll returned POLLIN, sometimes data would NOT be available and
> the code would hang <forever>. Therefore a work-around was to set
> the socket non-blocking. Under the conditions where poll() would
> return POLLIN and a read of a non-blocking socket returned no data,
Basic unix programming, errno only has meaning if system call returns -1.
Basic network programming. If read returns 0 it means other side
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/