** Information type changed from Proprietary to Public

** Also affects: linux (Ubuntu Artful)
   Importance: Undecided
       Status: New

** Changed in: linux (Ubuntu Artful)
       Status: New => Fix Released

** Changed in: intel
       Status: New => Fix Released

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1704316

Title:
  [Feature] Crystal Ridge - 4.12 - libnvdimm, region: sysfs trigger for
  nvdimm_flush()

Status in intel:
  Fix Released
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Artful:
  Fix Released

Bug description:
  Description:
  The nvdimm_flush() mechanism helps to reduce the impact of an ADR
  (asynchronous-dimm-refresh) failure. The ADR mechanism handles flushing
  platform WPQ (write-pending-queue) buffers when power is removed. The
  nvdimm_flush() mechanism performs that same function on-demand.

  When a pmem namespace is associated with a block device, an
  nvdimm_flush() is triggered with every block-layer REQ_FUA, or REQ_FLUSH
  request. These requests are typically associated with filesystem
  metadata updates. However, when a namespace is in device-dax mode,
  userspace (think database metadata) needs another path to perform the
  same flushing. In other words this is not required to make data
  persistent, but in the case of metadata it allows for a smaller failure
  domain in the unlikely event of an ADR failure.

  The new 'deep_flush' attribute is visible when the individual DIMMs
  backing a given interleave-set are described by platform firmware. In
  ACPI terms this is "NVDIMM Region Mapping Structures" and associated
  "Flush Hint Address Structures". Reads return "1" if the region supports
  triggering WPQ flushes on all DIMMs. Reads return "0" the flush
  operation is a platform nop, and in that case the attribute is
  read-only.

  Why sysfs and not an ioctl? An ioctl requires establishing a new
  ioctl function number space for device-dax. Given that this would be
  called on a device-dax fd an application could be forgiven for
  accidentally calling this on a filesystem-dax fd. Placing this interface
  in libnvdimm sysfs removes that potential for collision with a
  filesystem ioctl, and it keeps ioctls out of the generic device-dax
  implementation.

  
  Target Kernel:4.12
  Target Release: 17.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/intel/+bug/1704316/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to