it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux)

Barney Cordoba barney_cordoba at yahoo.com
Wed Aug 21 18:54:08 UTC 2013





________________________________
 From: Andre Oppermann <andre at freebsd.org>
To: Adrian Chadd <adrian at freebsd.org> 
Cc: Barney Cordoba <barney_cordoba at yahoo.com>; Luigi Rizzo <rizzo at iet.unipi.it>; "freebsd-net at freebsd.org" <freebsd-net at freebsd.org> 
Sent: Wednesday, August 21, 2013 2:19 PM
Subject: Re: it's the output, not ack coalescing (Re: TSO and FreeBSD vs Linux)
 

On 18.08.2013 23:54, Adrian Chadd wrote:
> Hi,
>
> I think the "UNIX architecture" is a bit broken for anything other than the
> occasional (for various traffic levels defining "occasional!") traffic
> connection. It's serving us well purely through the sheer force of will of
> modern CPU power but I think we can do a lot better.

I do not agree with you here.  The UNIX architecture is fine but of course
as with anything you're not going to get the full raw and theoretically
possible performance for every special case out of it.  It is extremely
versatile and performs rather good over a broad set of applications.

> _I_ think the correct model is a netmap model - batched packet handling,
> lightweight drivers pushing and pulling batches of things, with some
> lightweight plugins to service that inside the kernel and/or push into the
> netmap ring buffer in userland. Interfacing into the ethernet and socket
> layer should be something that bolts on the side, kind of netgraph style.
> It would likely look a lot more like a switching backplane with socket IO
> being one of many processing possibilities. If socket IO stays packet at a
> time than great; but that's messing up the ability to do a lot of other
> interesting things.

Sure, lets go back to MS-DOS with interrupt wedges.

First of all, the "Unix model" has long been abandoned. System V Streams
and all that classroom stuff (which is why I dislike netgraph) proved useless
once we got beyond Token Ring. All you heard about in the old days was
the OSI model; thank god the OSIs and CCITTs have become little more 
than noise as people started to really need to do things. How's that ISDN
thing working out?

As much as I complain, FreeBSD is far superior to other camps in their
discipline and conformance to sanity. Play around with linux internals and
you see what happens when you build an OS by an undisciplined committee.
There's no bigger abortion in computing than the sk_buff.

BC


More information about the freebsd-net mailing list