Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Mar 2001 17:22:52 +0100 (CET)
From:      Luigi Rizzo <luigi@info.iet.unipi.it>
To:        Lars Eggert <larse@ISI.EDU>
Cc:        net@FreeBSD.ORG
Subject:   Re: Changing UDP select() behavior
Message-ID:  <200103141622.RAA19510@info.iet.unipi.it>
In-Reply-To: <3AAF970B.7A19438A@isi.edu> from Lars Eggert at "Mar 14, 2001 08:06:35 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> As for efficiency, I agree that the per-packet send overhead will be
> larger. I'm not sure it'll be large enough to become a problem, though.

yes it is probably constant work to find the first sleeping
socket on the queue and issue a wakeup.

> > All in all I think this approach would only help a bit if
> > if you were allowed to queue in the socket buffer
> > (on which you can think of having some control, because you either
> > opened the fd yourself or you inherited it from some parent),
> > in addition to the device queue.
> 
> Could you explain this a little more? I think I know where you're going
> with this, but I'm not sure :-)

i think i meant you want to buffer your overflowing packets in the
socket buffer, and use them as an extension of the ipq. Basically
once the interface queue is full, you create a list of socket buffers
waiting for a transmit, then when a slot in the ifqueue becomes empty
you fill it up with the next pkt from next the socket buffer
without having to wakeup the process associated with it unless
you pass the lowwater mark.

But again, it is quite a bit of work to put all this code together,
and you end up with something that other systems do not have so
when you want to write portable code you still have to handle
the old behaviour as well in userland.

	cheers
	luigi

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200103141622.RAA19510>