From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeff Garzik Subject: Re: [PATCH 1/3 v2] chunkd: remove sendfile(2) zero-copy support Date: Sun, 18 Jul 2010 19:23:38 -0400 Message-ID: <4C438CFA.5040703@garzik.org> References: <20100717054616.GA9993@havoc.gtf.org> <20100717054651.GA10037@havoc.gtf.org> <4C4278EA.8000605@redhat.com> <4C4389D1.6000201@garzik.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:sender:message-id:date:from :user-agent:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; bh=2XA6ShIl2xKRxy32dCsYEPSVYpy1ogsfB1ivgUYMswY=; b=NK5VlV9OsNZzq/dNb4wauvO5UVsyDsZFqML3LEKmGYf6LqMKe5fiXQps8o5ieQhk06 wyPuLkFjxD33Lav/zYtFxe5I4jN5rQCZmzUwDDHtMSkTWhD6IXA3MVQAo25lG2oKI6mZ LekijSa04utDOkiQFILdUumPPSXRh4dTz3So8= In-Reply-To: <4C4389D1.6000201@garzik.org> Sender: hail-devel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: hail-devel@vger.kernel.org Cc: Steven Dake On 07/18/2010 07:10 PM, Jeff Garzik wrote: > On 07/17/2010 11:45 PM, Steven Dake wrote: >> On 07/16/2010 10:46 PM, Jeff Garzik wrote: >>> chunkd: remove sendfile(2) zero-copy support >>> >>> chunkd will be soon checksumming data in main memory. That removes >>> the utility of a zero-copy interface which bypasses the on-heap >>> data requirement. >>> >>> Signed-off-by: Jeff Garzik > >> May be able to use vmsplice with sendfile (if linux is only target >> platform). Haven't tried it myself, but the operations look interesting >> at achieving zero copy with sockets from memory addresses. As an aside, Project Hail -is- intended to be portable to other operating systems. That said, I happily use OS-specific features if they have a measurable impact on our core code paths. Another OS-specific feature I plan on using, for example, is sync_file_range(2) for large objects. We can make use of the technique used by MythTV for streaming, which Linus describes here: http://marc.info/?l=linux-kernel&m=127429771726842&w=2 http://marc.info/?l=linux-kernel&m=127431438118461&w=2