From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Bob Copeland" Subject: Re: [PATCH 0/7] OMFS filesystem version 3 Date: Fri, 18 Apr 2008 13:48:31 -0400 Message-ID: References: <1208041121-26787-1-git-send-email-me@bobcopeland.com> <20080412205544.5e12a7d4.akpm@linux-foundation.org> <20080413080130.GA9622@infradead.org> <20080413012001.8d7967f4.akpm@linux-foundation.org> <20080413082815.GA20108@infradead.org> <20080414004521.GA30489@hash.localnet> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: "Miklos Szeredi" , hch@infradead.org, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: "Szabolcs Szakacsits" Return-path: In-Reply-To: Content-Disposition: inline Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Fri, Apr 18, 2008 at 1:35 PM, Szabolcs Szakacsits wrote: > The major reason seems to be that the FUSE version reads heavily from the > block device during pure write operations, while the kernel driver never. > There can be several non-exclusive explanations. Yep, I suspect switching to the lower-level API plus switching to mmap() and getting rid of various memcpy's in omfs.c would make a huge difference. And also drop the line count without the hash table stuff. > Moreover when you're writing to a block device from user space then the > size and position of the block should be page aligned, otherwise you end up > doing unwanted synchronous reads instead of the believed asynchronous > writes. Cool, thanks for the tips! -- Bob Copeland %% www.bobcopeland.com