From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Mason Subject: Re: EXT4 nodelalloc => back to stone age. Date: Mon, 1 Apr 2013 11:45:41 -0400 Message-ID: <20130401154541.16754.22860@localhost.localdomain> References: <87d2uese6t.fsf@openvz.org> <5159A55B.1090302@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8BIT Cc: ext4 development , "linux-fsdevel@vger.kernel.org" , "axboe@kernel.dk" , Jan Kara To: Eric Sandeen , Dmitry Monakhov Return-path: Received: from dkim1.fusionio.com ([66.114.96.53]:48629 "EHLO dkim1.fusionio.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1758779Ab3DAPpo convert rfc822-to-8bit (ORCPT ); Mon, 1 Apr 2013 11:45:44 -0400 Received: from mx2.fusionio.com (unknown [10.101.1.160]) by dkim1.fusionio.com (Postfix) with ESMTP id 1D48C7C0427 for ; Mon, 1 Apr 2013 09:45:44 -0600 (MDT) In-Reply-To: <5159A55B.1090302@redhat.com> Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Quoting Eric Sandeen (2013-04-01 11:18:51) > On 4/1/13 6:06 AM, Dmitry Monakhov wrote: > > > 1)Do we really have to use WRITE_SYNC in case of WB_SYNC_ALL ? Yes? The stuff we wait on should be WRITE_SYNC. > > ... > > > 2) Why don't we have writepages for non delalloc case ? > > ... > > I'd add: > > 3) Why do we have a "nodelalloc" mount option at all? > > but then I thought: > > Is it also this bad when using the ext4 driver to run an ext3 fs? Quick comparison on a single iodrive: Ext4 (defaults): # dd if=/dev/zero of=foo bs=1M count=1024 conv=fsync,notrunc 1073741824 bytes (1.1 GB) copied, 1.95442 s, 549 MB/s # dd if=/dev/zero of=foo bs=1M count=1024 conv=fsync,notrunc 1073741824 bytes (1.1 GB) copied, 1.45012 s, 740 MB/s Ext4 (nodelalloc): dd if=/dev/zero of=foo bs=1M count=1024 conv=fsync,notrunc 1073741824 bytes (1.1 GB) copied, 2.97308 s, 361 MB/s # dd if=/dev/zero of=foo bs=1M count=1024 conv=fsync,notrunc 1073741824 bytes (1.1 GB) copied, 1.76617 s, 608 MB/s # dd if=/dev/zero of=foo bs=1M count=1024 conv=fsync,notrunc XFS gives 628, 733MB/s Btrfs gives 659, 635MB/s -- since we're doing fsync, this includes all the crcs for the data. Ext3 mounted by ext4.ko: 291, 467MB/s -chris