mbox series

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

Message ID 20200716172913.19658-1-joao.m.martins@oracle.com (mailing list archive)
Headers show
Series device-dax: Further improvements to subdivision | expand

Message

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

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
following:

  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

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