[GIT PULL] dax-locking for 4.7

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

[GIT PULL] dax-locking for 4.7

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

- 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(-)

Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: [GIT PULL] dax-locking for 4.7

Verma, Vishal L
On Tue, May 24, 2016 at 02:52:19PM -0600, Ross Zwisler wrote:

> 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.
>
> ----------------------------------------------------------------

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

> 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
> [hidden email]
> https://lists.01.org/mailman/listinfo/linux-nvdimm
Loading...