From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <96d88ee6d8e687cb0e74c66a90247a62@quanstro.net> From: erik quanstrom Date: Mon, 8 May 2006 14:41:04 -0500 To: 9fans@cse.psu.edu Subject: Re: [9fans] kernel development: how not to MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Topicbox-Message-UUID: 4f5db5e6-ead1-11e9-9d60-3106f5b1d025 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 > >