Skip to contentSkip to conversation

dax-locking for 4.7

GIT PULL Ross Zwisler 2 participants 2 messages May 24, 2016 – May 26, 2016

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hi Linus, please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7

... to receive filesystem DAX locking changes for v4.7.

These current version of these changes have been under review and test for a few weeks, and have appeared in the two most recent linux-next releases (next-20160520 and next-20160524). I've reviewed all of the DAX changes in these patches, and Neil Brown has reviewed the patch that introduced the actual locking and wait queues.

This pull request is dependent on Vishal Verma's "dax-misc for 4.7" pull request.

The following changes since commit 40543f62cbdce42633e3fe10923099feee272e1f:

dax: fix a comment in dax_zero_page_range and dax_truncate_page (2016-05-18 12:16:58 -0600)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7

for you to fetch changes up to 4d9a2c8746671efbb0c27d3ae28c7474597a7aad:

dax: Remove i_mmap_lock protection (2016-05-19 15:28:40 -0600)

----------------------------------------------------------------
Filesystem DAX locking for 4.7

- We use a bit in an exceptional radix tree entry as a lock bit and use it similarly to how page lock is used for normal faults. This fixes races between hole instantiation and read faults of the same index.

- Filesystem DAX PMD faults are disabled, and will be re-enabled when PMD locking is implemented.

----------------------------------------------------------------
Jan Kara (7):
dax: Fix condition for filling of PMD holes
dax: Make huge page handling depend of CONFIG_BROKEN
dax: Define DAX lock bit for radix tree exceptional entry
dax: Allow DAX code to replace exceptional entries
dax: New fault locking
dax: Use radix tree entry lock to protect cow faults
dax: Remove i_mmap_lock protection

 fs/Kconfig          |   1 +
 fs/dax.c            | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
 include/linux/dax.h |  16 ++-
 include/linux/mm.h  |   7 ++
 mm/filemap.c        |  30 +++--
 mm/memory.c         |  40 +++----
 mm/truncate.c       |  62 +++++-----
 7 files changed, 513 insertions(+), 235 deletions(-)
maintainer
#1 lore raw
Quoted 30 lines · Ross Zwisler

Hi Linus, please pull from

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7

... to receive filesystem DAX locking changes for v4.7.

These current version of these changes have been under review and test for a few weeks, and have appeared in the two most recent linux-next releases (next-20160520 and next-20160524). I've reviewed all of the DAX changes in these patches, and Neil Brown has reviewed the patch that introduced the actual locking and wait queues.

This pull request is dependent on Vishal Verma's "dax-misc for 4.7" pull request.

The following changes since commit 40543f62cbdce42633e3fe10923099feee272e1f:

dax: fix a comment in dax_zero_page_range and dax_truncate_page (2016-05-18 12:16:58 -0600)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/dax-locking-for-4.7

for you to fetch changes up to 4d9a2c8746671efbb0c27d3ae28c7474597a7aad:

dax: Remove i_mmap_lock protection (2016-05-19 15:28:40 -0600)

----------------------------------------------------------------
Filesystem DAX locking for 4.7

Quoted 8 lines

- We use a bit in an exceptional radix tree entry as a lock bit and use it similarly to how page lock is used for normal faults. This fixes races between hole instantiation and read faults of the same index.

- Filesystem DAX PMD faults are disabled, and will be re-enabled when PMD locking is implemented.

----------------------------------------------------------------

Hi Linus,

Both this pull request, and mine ([GIT PULL] dax-misc for 4.7) have minor merge conflicts with your tree. These were caught by linux-next too (in addition to the one I mentioned in my pull request), but I neglected to mention this one [1].

[1] https://lkml.org/lkml/2016/5/19/707

I've updated the branch at:

git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-for-4.7-merge

with the expected resolution of merging both dax-misc-for-4.7 and dax-locking-for-4.7

Let me know if you run into something odd, and apologies for not giving an earlier heads up about the conflict.

-Vishal

Quoted 22 lines

Jan Kara (7):
dax: Fix condition for filling of PMD holes
dax: Make huge page handling depend of CONFIG_BROKEN
dax: Define DAX lock bit for radix tree exceptional entry
dax: Allow DAX code to replace exceptional entries
dax: New fault locking
dax: Use radix tree entry lock to protect cow faults
dax: Remove i_mmap_lock protection

 fs/Kconfig          |   1 +
 fs/dax.c            | 592 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------
 include/linux/dax.h |  16 ++-
 include/linux/mm.h  |   7 ++
 mm/filemap.c        |  30 +++--
 mm/memory.c         |  40 +++----
 mm/truncate.c       |  62 +++++-----
 7 files changed, 513 insertions(+), 235 deletions(-)

_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm