Thread (12 messages) 12 messages, 4 authors, 2016-05-05

Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM

From: Dave Chinner <david@fromorbit.com>
Date: 2016-05-05 01:58:14
Also in: lkml

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:
quoted
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help