All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gerd Knorr <kraxel@bytesex.org>
To: Steve Schmidtke <steve_schmidtke@hotmail.com>
Cc: User-mode-linux-devel@lists.sourceforge.net
Subject: Re: [uml-devel] [PATCH] uml_router: cleanup
Date: Wed, 24 Nov 2004 20:27:56 +0100	[thread overview]
Message-ID: <20041124192756.GA26938@bytesex> (raw)
In-Reply-To: <BAY24-F33146F620CDD96B205B7283B80@phx.gbl>

> >  * Has outgoing package queues per switch port.
> 
> I wanted this as well - dropping packets just because of a temporary EAGAIN 
> makes network traffic stumble.

I'm not sure any more that this makes actually a big difference.
It may help a bit on network load peaks.

The (host) kernel does some buffering as well in the fifo/socket
buffers, you'll get the -EAGAIN once they are full.  Buffering in the
switch daemon as well just makes the buffer space bigger, but at some
point you have to drop packets.

The TCP protocol has a clever algoritm to get as much as possible out of
a link between two machines which actually *depends* on packets being
dropped once you've over the limit for the link.  Thus dropping packets
isn't something you should try to avoid at any cost.  You can't do that
anyway ;)

> But one thing I think I noticed is you don't expire packets if they
> get stale (packet dropping seems to drop the newest packet rather than
> the oldest as well), which could cause problems too.

Not sure what a real switch/router does in that case.  Note that the
packets which are already in the kernel's fifo/socket buffer can't be
expired as well ...

> >  * use poll() instead of select() (again this likely doesn't make a
> >    noticable difference for most users ...).
> 
> Not to have completely wasted my time, the io dispatcher I wrote around 
> poll() should be an easy retrofit in your package as well, if you want it.
> 
> Or, if it would be useful, I would be happy to try and integrate both 
> packages together.

Feel free to go ahead with merging code and push it upstream.

  Gerd

-- 
#define printk(args...) fprintf(stderr, ## args)


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

  parent reply	other threads:[~2004-11-24 19:49 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-24  2:47 [uml-devel] [PATCH] uml_router: cleanup Steve Schmidtke
2004-11-24 10:03 ` Gerd Knorr
     [not found]   ` <BAY24-F33146F620CDD96B205B7283B80@phx.gbl>
2004-11-24 19:27     ` Gerd Knorr [this message]
2004-11-24 20:26   ` Felix Müri
2004-11-24 21:10     ` Gerd Knorr
2004-11-24 22:02     ` Steve Schmidtke

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=20041124192756.GA26938@bytesex \
    --to=kraxel@bytesex.org \
    --cc=User-mode-linux-devel@lists.sourceforge.net \
    --cc=steve_schmidtke@hotmail.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.