All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Hemminger <shemminger@osdl.org>
To: "linux-os \(Dick Johnson\)" <linux-os@analogic.com>
Cc: <linux-kernel@vger.kernel.org>
Subject: Re: Network compatibility and performance
Date: Thu, 10 Aug 2006 11:14:33 -0700	[thread overview]
Message-ID: <20060810111433.476a74d6@localhost.localdomain> (raw)
In-Reply-To: <Pine.LNX.4.61.0608101339310.4577@chaos.analogic.com>

On Thu, 10 Aug 2006 14:09:34 -0400
"linux-os \(Dick Johnson\)" <linux-os@analogic.com> wrote:

> 
> On Thu, 10 Aug 2006, Stephen Hemminger wrote:
> 
> > On Thu, 10 Aug 2006 11:34:23 -0400
> > "linux-os \(Dick Johnson\)" <linux-os@analogic.com> wrote:
> >
> >>
> >> Hello,
> >>
> >> Network throughput is seriously defective with linux-2.6.16.24
> >> 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
has disconnected.

  reply	other threads:[~2006-08-10 18:14 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-10 15:34 Network compatibility and performance linux-os (Dick Johnson)
2006-08-10 17:28 ` Stephen Hemminger
2006-08-10 18:09   ` linux-os (Dick Johnson)
2006-08-10 18:14     ` Stephen Hemminger [this message]
2006-08-10 18:32       ` linux-os (Dick Johnson)
2006-08-12 19:21 ` Ben Greear
2006-08-14 11:30   ` linux-os (Dick Johnson)
2006-08-14 21:25     ` Ben Greear
2006-08-15 11:34       ` linux-os (Dick Johnson)

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060810111433.476a74d6@localhost.localdomain \
    --to=shemminger@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-os@analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.