[v1,0/4] device-dax: Further improvements to subdivision
mbox series

Message ID 20200716172913.19658-1-joao.m.martins@oracle.com
Headers show
  • device-dax: Further improvements to subdivision
Related show


Joao Martins July 16, 2020, 5:29 p.m. UTC

Here's a small set of improvements that I was hoping you would consider as part
of your Soft-Reserved series[0]; should you think they make sense. It does the

  Patch 1-2: Add an align sysfs attribute, as opposed to being limited to 2M.
  This brings parity to static dax regions, which support 1G.

  Patch 3. Add a module parameter to hmem, to initialize the region as idle
  with full available_size for child devices. When the region is gonna be
  partiotined by default and assigned to guests, doesn't help to
  initialize the region. Also if the majority of the region starts
  non-idle and it's a region which memmap is bigger than System-Ram,
  then there not be enough space for the device to be probed successfully.

  Patch 4: Add an sysfs attribute for range allocation. It is a single entry
  where you pass a range <start>-<end> and where the ordering plus range
  length designate the page_offset. It is meant for recreate the same
  mappings after kexec (retaining the GPA->HPA association), but could
  also allow application to implement their own allocation strategy.

I will submit a separate daxctl counterpart shortly, to help visualize its use.

[0] https://lore.kernel.org/linux-mm/159457116473.754248.7879464730875147365.stgit@dwillia2-desk3.amr.corp.intel.com


Joao Martins (4):
  device-dax: Make align a per-device property
  device-dax: Add an 'align' attribute
  dax/hmem: Introduce dax_hmem.region_idle parameter
  device-dax: Add a range mapping allocation attribute

 drivers/dax/bus.c         | 166 +++++++++++++++++++++++++++++++++++---
 drivers/dax/dax-private.h |   1 +
 drivers/dax/device.c      |  35 ++++----
 drivers/dax/hmem/hmem.c   |   5 +-
 4 files changed, 177 insertions(+), 30 deletions(-)