From: Dave Chinner <david@fromorbit.com>
To: Christoph Hellwig <hch@infradead.org>
Cc: Waiman Long <waiman.long@hpe.com>, Theodore Ts'o <tytso@mit.edu>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Matthew Wilcox <willy@linux.intel.com>,
linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
Scott J Norton <scott.norton@hpe.com>,
Douglas Hatch <doug.hatch@hpe.com>,
Toshimitsu Kani <toshi.kani@hpe.com>
Subject: Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM
Date: Thu, 5 May 2016 11:57:30 +1000 [thread overview]
Message-ID: <20160505015730.GC26977@dastard> (raw)
In-Reply-To: <20160501172854.GA19601@infradead.org>
On Sun, May 01, 2016 at 10:28:54AM -0700, Christoph Hellwig wrote:
> On Fri, Apr 29, 2016 at 12:38:20PM -0400, Waiman Long wrote:
> > From my testing, it looked like that parallel overwrites to the same file in
> > an ext4 filesystem on DAX can happen in parallel even if their range
> > overlaps. It was mainly because the code will drop the i_mutex before the
> > write. That means the overlapped blocks can get garbage. I think this is a
> > problem, but I am not expert in the ext4 filesystem to say for sure. I would
> > like to know your thought on that.
>
> That's another issue with dax I/O pretending to be direct I/O.. Because
> it isn't we'll need to synchronize it like buffered I/O and not like
> direct I/O in all file systems.
We did this intentionally. DAX IO needs to have the same parallel
write semantics of direct IO, because otherwise a single writer
prevents any IO concurrency and that's a bigger problem for DAX that
traditional storage due to the access speed and bandwidth available.
This was always intended to be fixed by the introduction of proper
range locking for IO, not by reverting to total exclusion for write
IOs.
Cheers,
Dave.
--
Dave Chinner
david@fromorbit.com
next prev parent reply other threads:[~2016-05-05 1:58 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 16:27 [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Waiman Long
2016-04-29 16:27 ` [PATCH v5 1/2] dax: Don't touch i_dio_count in dax_do_io() Waiman Long
2016-05-05 14:16 ` Jan Kara
2016-05-05 14:27 ` Christoph Hellwig
2016-05-05 15:48 ` Jan Kara
2016-04-29 16:27 ` [PATCH v5 2/2] ext4: Make cache hits/misses per-cpu counts Waiman Long
2016-05-05 14:03 ` Jan Kara
2016-04-29 16:38 ` [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Waiman Long
2016-05-01 17:28 ` Christoph Hellwig
2016-05-02 17:45 ` Waiman Long
2016-05-05 1:57 ` Dave Chinner [this message]
2016-05-05 14:19 ` Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160505015730.GC26977@dastard \
--to=david@fromorbit.com \
--cc=adilger.kernel@dilger.ca \
--cc=doug.hatch@hpe.com \
--cc=hch@infradead.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=scott.norton@hpe.com \
--cc=toshi.kani@hpe.com \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=waiman.long@hpe.com \
--cc=willy@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).