From owner-freebsd-hackers Mon Aug 17 09:43:19 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA26393 for freebsd-hackers-outgoing; Mon, 17 Aug 1998 09:43:19 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from freefall.pipeline.ch (freefall.pipeline.ch [195.134.128.40]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA26384 for ; Mon, 17 Aug 1998 09:43:11 -0700 (PDT) (envelope-from andre@pipeline.ch) Received: from pipeline.ch ([195.134.128.41]) by freefall.pipeline.ch (Netscape Mail Server v2.02) with ESMTP id AAA315; Mon, 17 Aug 1998 18:41:23 +0200 Message-ID: <35D85D39.8ED6BD8E@pipeline.ch> Date: Mon, 17 Aug 1998 18:41:29 +0200 From: Andre Oppermann X-Mailer: Mozilla 4.03 [en] (WinNT; U) MIME-Version: 1.0 To: Stephen Hocking-Senior Programmer PGS Tensor Perth CC: hackers@FreeBSD.ORG Subject: Re: sendfile() API? References: <199808170356.LAA16257@ariadne.tensor.pgs.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG Stephen Hocking-Senior Programmer PGS Tensor Perth wrote: > > There was a discussion a while ago about how sendfile (as implemented on NT) > was a BadThing(tm). One guy came up with what can only be described as an I/O Yea, I can remember somthing on c.u.b.f.m about that. But it was more about webserver performance in general. > interpreter, where the kernel provides a facility such that you can load up a > description of what you want done with the data. His first name was Chuck, and > he came up with quite an interesting thesis, implementing his code under > NetBSD. The problem is that sendfile is unsufficiently general, and probably > wont cope with things like network type changes, et cetera. The benefit of something like sendfile() is (according to Marc and my understanding) to save the time something needs to get read from an FS and write to the network (very common in webserver and fileserver applications) via userland (actually the process that does the handling of the serving). IMO the best thing would be some sort of an LKM that does this, maybe with different API's. I don't know if it is possible for an LKM to offer such an API to userland processes. Someone knows? -- Andre Oppermann CEO / Geschaeftsfuehrer Internet Business Solutions Ltd. (AG) Hardstrasse 235, 8005 Zurich, Switzerland Fon +41 1 277 75 75 / Fax +41 1 277 75 77 http://www.pipeline.ch ibs@pipeline.ch To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message