9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] kernel development: how not to
@ 2006-05-08 19:41 erik quanstrom
  0 siblings, 0 replies; 5+ messages in thread
From: erik quanstrom @ 2006-05-08 19:41 UTC (permalink / raw)
  To: 9fans

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
> >


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: [9fans] kernel development: how not to
@ 2006-05-05 15:41 erik quanstrom
  2006-05-08 15:44 ` Dave Lukes
  0 siblings, 1 reply; 5+ messages in thread
From: erik quanstrom @ 2006-05-05 15:41 UTC (permalink / raw)
  To: 9fans

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

On Fri May  5 10:20:1CDT 2006, leimy2k@gmail.com wrote:
> Is the the vmslice that Linus told BSD people they were a bunch of
> retards for not having?
> 
> 
> 
> On 5/5/06, erik quanstrom <quanstro@quanstro.net> wrote:
> > the linux guys decided to implement system calls
> > "splice" and "tee".  splice concatinates the pages from
> > two files -- the vm equivalent of "cat a b".  tee
> > is the vm equivalent of its namesake.
> >
> >         http://lwn.net/Articles/181169/#Comments
> >
> > the best part is the conclusion -- "needs a bit more work".
> > ha!
> >
> > - erik


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [9fans] kernel development: how not to
@ 2006-05-05 15:12 erik quanstrom
  2006-05-05 15:19 ` David Leimbach
  0 siblings, 1 reply; 5+ messages in thread
From: erik quanstrom @ 2006-05-05 15:12 UTC (permalink / raw)
  To: 9fans

the linux guys decided to implement system calls
"splice" and "tee".  splice concatinates the pages from
two files -- the vm equivalent of "cat a b".  tee
is the vm equivalent of its namesake. 

	http://lwn.net/Articles/181169/#Comments

the best part is the conclusion -- "needs a bit more work".
ha!   

- erik


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-05-08 19:41 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-05-08 19:41 [9fans] kernel development: how not to erik quanstrom
  -- 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

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).