dax-locking for 4.7
Subsystems (2)
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(-)
Vishal Verma
maintainerQuoted 30 lines · Ross Zwisler
Hi Linus, please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimmtags/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_rangeanddax_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/nvdimmtags/dax-locking-for-4.7for you to fetch changes up to
4d9a2c8746671efbb0c27d3ae28c7474597a7aad:dax: Remove
i_mmap_lockprotection (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 ofCONFIG_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: Removei_mmap_lockprotectionfs/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