[GIT PULL] libnvdimm fixes for 4.16-rc4

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus, please pull from:

  git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

...to receive a 4.16 regression fix, 3 fixes for -stable, and a cleanup
fix.

+ACo- During the merge window support for the new ACPI NVDIMM Platform
Capabilities structure disabled support for +ACI-deep flush+ACI-, a force-unit-
access like mechanism for persistent memory. Restore that mechanism.

+ACo- VFIO like RDMA is yet one more memory registration / pinning
interface that is incompatible with Filesystem-DAX. Disable long term
pins of Filesystem-DAX mappings via VFIO.

+ACo- The Filesystem-DAX detection to prevent long terms pins mistakenly
also disabled Device-DAX pins which are not subject to the same block-
map collision concerns.

+ACo- Similar to the setup path, softlockup warnings can trigger in the
shutdown path for large persistent memory namespaces. Teach
for+AF8-each+AF8-device+AF8-pfn() to perform cond+AF8-resched() in all cases.

+ACo- Boaz noticed that the might+AF8-sleep() in dax+AF8-direct+AF8-access() is stale
as of the v4.15 kernel.

These have received a build success notification from the 0day robot,
and the longterm pin fixes have appeared in -next. However, I recently
rebased the tree to remove some other fixes that need to be reworked
after review feedback.

---

The following changes since commit 91ab883eb21325ad80f3473633f794c78ac87f51:

  Linux 4.16-rc2 (2018-02-18 17:29:42 -0800)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes

for you to fetch changes up to 949b93250a566cc7a578b4f829cf76b70d19a62c:

  memremap: fix softlockup reports at teardown (2018-03-02 19:34:50 -0800)

----------------------------------------------------------------
Boaz Harrosh (1):
      dax: -+AD4-direct+AF8-access does not sleep anymore

Dan Williams (3):
      dax: fix vma+AF8-is+AF8-fsdax() helper
      vfio: disable filesystem-dax page pinning
      memremap: fix softlockup reports at teardown

Dave Jiang (1):
      libnvdimm: re-enable deep flush for pmem devices via fsync()

 drivers/dax/super.c             +AHw-  6 ------
 drivers/nvdimm/pmem.c           +AHw-  3 +---
 drivers/vfio/vfio+AF8-iommu+AF8-type1.c +AHw- 18 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+----
 include/linux/fs.h              +AHw-  2 +--
 kernel/memremap.c               +AHw- 15 +-+-+-+-+-+-+-+-+-+------
 5 files changed, 27 insertions(+-), 17 deletions(-)

---

commit 9d4949b4935831be10534d5432bf611285a572a5
Author: Boaz Harrosh +ADw-boazh+AEA-netapp.com+AD4-
Date:   Mon Feb 26 18:50:35 2018 +-0200

    dax: -+AD4-direct+AF8-access does not sleep anymore
    
    In Patch:
            +AFs-7a862fb+AF0- brd: remove dax support
    
      Dan Williams has removed the only might+AF8-sleep
      implementation of -+AD4-direct+AF8-access.
      So we no longer need to check for it.
    
    CC: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
    Signed-off-by: Boaz Harrosh +ADw-boazh+AEA-netapp.com+AD4-
    Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-

commit 230f5a8969d8345fc9bbe3683f068246cf1be4b8
Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
Date:   Wed Feb 21 17:08:01 2018 -0800

    dax: fix vma+AF8-is+AF8-fsdax() helper
    
    Gerd reports that -+AD4-i+AF8-mode may contain other bits besides S+AF8-IFCHR. Use
    S+AF8-ISCHR() instead. Otherwise, get+AF8-user+AF8-pages+AF8-longterm() may fail on
    device-dax instances when those are meant to be explicitly allowed.
    
    Fixes: 2bb6d2837083 (+ACI-mm: introduce get+AF8-user+AF8-pages+AF8-longterm+ACI-)
    Cc: +ADw-stable+AEA-vger.kernel.org+AD4-
    Reported-by: Gerd Rausch +ADw-gerd.rausch+AEA-oracle.com+AD4-
    Acked-by: Jane Chu +ADw-jane.chu+AEA-oracle.com+AD4-
    Reported-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4-
    Reviewed-by: Jan Kara +ADw-jack+AEA-suse.cz+AD4-
    Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-

commit 94db151dc89262bfa82922c44e8320cea2334667
Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
Date:   Sun Feb 4 10:34:02 2018 -0800

    vfio: disable filesystem-dax page pinning
    
    Filesystem-DAX is incompatible with 'longterm' page pinning. Without
    page cache indirection a DAX mapping maps filesystem blocks directly.
    This means that the filesystem must not modify a file's block map while
    any page in a mapping is pinned. In order to prevent the situation of
    userspace holding of filesystem operations indefinitely, disallow
    'longterm' Filesystem-DAX mappings.
    
    RDMA has the same conflict and the plan there is to add a 'with lease'
    mechanism to allow the kernel to notify userspace that the mapping is
    being torn down for block-map maintenance. Perhaps something similar can
    be put in place for vfio.
    
    Note that xfs and ext4 still report:
    
       +ACI-DAX enabled. Warning: EXPERIMENTAL, use at your own risk+ACI-
    
    ...at mount time, and resolving the dax-dma-vs-truncate problem is one
    of the last hurdles to remove that designation.
    
    Acked-by: Alex Williamson +ADw-alex.williamson+AEA-redhat.com+AD4-
    Cc: Michal Hocko +ADw-mhocko+AEA-suse.com+AD4-
    Cc: kvm+AEA-vger.kernel.org
    Cc: +ADw-stable+AEA-vger.kernel.org+AD4-
    Reported-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4-
    Tested-by: Haozhong Zhang +ADw-haozhong.zhang+AEA-intel.com+AD4-
    Fixes: d475c6346a38 (+ACI-dax,ext2: replace XIP read and write with DAX I/O+ACI-)
    Reviewed-by: Christoph Hellwig +ADw-hch+AEA-lst.de+AD4-
    Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-

commit 5fdf8e5ba5666fe153bd61f851a40078a6347822
Author: Dave Jiang +ADw-dave.jiang+AEA-intel.com+AD4-
Date:   Fri Mar 2 19:31:40 2018 -0800

    libnvdimm: re-enable deep flush for pmem devices via fsync()
    
    Re-enable deep flush so that users always have a way to be sure that a
    write makes it all the way out to media. Writes from the PMEM driver
    always arrive at the NVDIMM since movnt is used to bypass the cache, and
    the driver relies on the ADR (Asynchronous DRAM Refresh) mechanism to
    flush write buffers on power failure. The Deep Flush mechanism is there
    to explicitly write buffers to protect against (rare) ADR failure.  This
    change prevents a regression in deep flush behavior so that applications
    can continue to depend on fsync() as a mechanism to trigger deep flush
    in the filesystem-DAX case.
    
    Fixes: 06e8ccdab15f4 (+ACI-acpi: nfit: Add support for detect platform CPU cache...+ACI-)
    Reviewed-by: Jeff Moyer +ADw-jmoyer+AEA-redhat.com+AD4-
    Signed-off-by: Dave Jiang +ADw-dave.jiang+AEA-intel.com+AD4-
    Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-

commit 949b93250a566cc7a578b4f829cf76b70d19a62c
Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
Date:   Tue Feb 6 19:34:11 2018 -0800

    memremap: fix softlockup reports at teardown
    
    The cond+AF8-resched() currently in the setup path needs to be duplicated in
    the teardown path. Rather than require each instance of
    for+AF8-each+AF8-device+AF8-pfn() to open code the same sequence, embed it in the
    helper.
    
    Link: https://github.com/intel/ixpdimm+AF8-sw/issues/11
    Cc: +ACI-J+AOk-r+APQ-me Glisse+ACI- +ADw-jglisse+AEA-redhat.com+AD4-
    Cc: Michal Hocko +ADw-mhocko+AEA-suse.com+AD4-
    Cc: Christoph Hellwig +ADw-hch+AEA-lst.de+AD4-
    Cc: +ADw-stable+AEA-vger.kernel.org+AD4-
    Fixes: 71389703839e (+ACI-mm, zone+AF8-device: Replace +AHs-get, put+AH0AXw-zone+AF8-device+AF8-page()...+ACI-)
    Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux