9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: erik quanstrom <quanstro@quanstro.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] kernel development: how not to
Date: Mon,  8 May 2006 14:41:04 -0500	[thread overview]
Message-ID: <96d88ee6d8e687cb0e74c66a90247a62@quanstro.net> (raw)

i agree with your point, but i think the problem with splice and tee is 
worse than that.

before complicating the system with this optimization, shouldn't a
real system doing real work (i.e. not benchmarking) be found where
splice and tee could help?

parameters change, the balance between cpu, memory b/w and i/o
changes over time and from machine to machine.

i wonder if splice is really faster than coping the buffer on a 
NUMA machine?

remember: in linux, as in life, it's ready, shoot, aim.

- erik

On Mon May  8 10:44:21 CDT 2006, davel@anvil.com wrote:
> Yawn.
> 
> After the Beserkeley folks implemented vread() and vwrite() in 4.1BSD
> many people (including myself) saw the concept and thought
> "why didn't they just detect that as a special case in read() and write()?":
> exactly the same benefits without the new syscalls.
> 
> In the same way, most of the speed improvements for muck like splice(),
> could probably be gained by tuning the current system
> (and, hey, you might even speed up a couple of other things along the way).
> 
> Of course improving current functionality without complicating any 
> visible interfaces
> is far less fun that implementing the
>     wankmyego(fuckme, im, so, clever, look, at, all, these, parameters, 
> i, must, be, a, genius)
> syscall.
> 
> Sigh,
>     DaveL
> 
> erik quanstrom wrote:
> > sort of.  it's an extension.  here's the kerneltrap summary:
> >
> > 	http://kerneltrap.org/node/6506
> >
> > what linux actually said is that COW games (e.g. for freebsd's zero-copy
> > socket code) are worse than just copying the data.
> >
> > the real difference between bsd's stuff and what linus did is
> > the linux trick is an explict system call, not a vm game.
> > but he misses that adding strange system calls that parallel
> > read and write is even bigger trouble.  either your fundamental
> > object is a file (unix) or a block of memory (multix).  pick a
> > lane!  certainly don't mix the two at the same level.
> >
> > linus may be right that the freebsd vm's techniques are broken.
> > i don't know.
> >
> > the zero-copy idea is tantalizing.  it would be neat to allow the
> > network stacks or devdraw to live in a user-level fileserver
> > without a performance (2 copy) penalty.  but it may be the case
> > that allowing this trickery is more code than it is worth.
> >
> > - erik
> >


             reply	other threads:[~2006-05-08 19:41 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-08 19:41 erik quanstrom [this message]
  -- strict thread matches above, loose matches on Subject: below --
2006-05-05 15:41 erik quanstrom
2006-05-08 15:44 ` Dave Lukes
2006-05-05 15:12 erik quanstrom
2006-05-05 15:19 ` David Leimbach

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=96d88ee6d8e687cb0e74c66a90247a62@quanstro.net \
    --to=quanstro@quanstro.net \
    --cc=9fans@cse.psu.edu \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).