Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1392410

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

From Waiman Long <waiman.long@hpe.com>
Newsgroups linux.kernel
Subject Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM
Date 2016-05-02 19:50 +0200
Message-ID <ruq8P-7OL-11@gated-at.bofh.it> (permalink)
References <rtjsK-HD-9@gated-at.bofh.it> <rtjCq-LR-5@gated-at.bofh.it> <ru3lU-4Jm-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 05/01/2016 01:28 PM, 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.

 From what I saw in the code, I think filemap_write_and_wait_range()
should have prevented concurrent overwrites from stepping on each
other for non-DAX I/O.  However it is essentially a no-op for DAX
I/O and so the protection is gone.

I am planning to send out a patch to disable mutex dropping for DAX
overwrite. There is still an issue on the read side. If journal is
disabled and the dioread_nolock mount option is used, read will done
without locking. Again, the filemap_write_and_wait_range() check on
the read side will not protect against write.

Cheers,
Longman

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Waiman Long <Waiman.Long@hpe.com> - 2016-04-29 18:30 +0200
  [PATCH v5 1/2] dax: Don't touch i_dio_count in dax_do_io() Waiman Long <Waiman.Long@hpe.com> - 2016-04-29 18:40 +0200
    Re: [PATCH v5 1/2] dax: Don't touch i_dio_count in dax_do_io() Jan Kara <jack@suse.cz> - 2016-05-05 16:20 +0200
      Re: [PATCH v5 1/2] dax: Don't touch i_dio_count in dax_do_io() Christoph Hellwig <hch@infradead.org> - 2016-05-05 16:30 +0200
        Re: [PATCH v5 1/2] dax: Don't touch i_dio_count in dax_do_io() Jan Kara <jack@suse.cz> - 2016-05-05 17:50 +0200
  Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Waiman Long <waiman.long@hpe.com> - 2016-04-29 18:40 +0200
    Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Christoph Hellwig <hch@infradead.org> - 2016-05-01 19:30 +0200
      Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Waiman Long <waiman.long@hpe.com> - 2016-05-02 19:50 +0200
      Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Dave Chinner <david@fromorbit.com> - 2016-05-05 04:00 +0200
        Re: [PATCH v5 0/2] ext4: Improve parallel I/O performance on NVDIMM Christoph Hellwig <hch@infradead.org> - 2016-05-05 16:20 +0200
  [PATCH v5 2/2] ext4: Make cache hits/misses per-cpu counts Waiman Long <Waiman.Long@hpe.com> - 2016-04-29 18:40 +0200
    Re: [PATCH v5 2/2] ext4: Make cache hits/misses per-cpu counts Jan Kara <jack@suse.cz> - 2016-05-05 16:10 +0200

csiph-web