[GIT PULL] libnvdimm fixes for 4.20-rc6

From: Williams, Dan J
Date: Sun Dec 09 2018 - 01:18:32 EST

Hi Linus, please pull from:

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

...to receive a regression fix for the Address Range Scrub
implementation, yes another one, and support for platforms that
misalign persistent memory relative to the Linux memory hotplug section
constraint. Longer term, support for sub-section memory hotplug would
alleviate alignment waste, but until then this hack allows a 'struct
page' memmap to be established for these misaligned memory regions.

These have all appeared in a -next release, and thanks to Patrick for
reporting and testing the alignment padding fix.


The following changes since commit 9ff01193a20d391e8dbce4403dd5ef87c7eaaca6:

Linux 4.20-rc3 (2018-11-18 13:33:44 -0800)

are available in the Git repository at:

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

for you to fetch changes up to b5fd2e00a60248902315fb32210550ac3cb9f44c:

acpi/nfit: Fix user-initiated ARS to be +ACI-ARS-long+ACI- rather than +ACI-ARS-short+ACI- (2018-12-05 14:16:13 -0800)

libnvdimm fixes 4.20-rc6

+ACo- Unless and until the core mm handles memory hotplug units smaller than
a section (128M), persistent memory namespaces must be padded to
section alignment. The libnvdimm core already handled section
collision with +ACI-System RAM+ACI-, but some configurations overlap
independent +ACI-Persistent Memory+ACI- ranges within a section, so additional
padding injection is added for that case.

+ACo- The recent reworks of the ARS (address range scrub) state machine to
reduce the number of state flags inadvertantly missed a conversion of
acpi+AF8-nfit+AF8-ars+AF8-rescan() call sites. Fix the regression whereby
user-requested ARS results in a +ACI-short+ACI- scrub rather than a +ACI-long+ACI-

+ACo- Fixup the unit tests to handle / test the 128M section alignment of
mocked test resources.

Dan Williams (3):
tools/testing/nvdimm: Align test resources to 128M
libnvdimm, pfn: Pad pfn namespaces relative to other regions
acpi/nfit: Fix user-initiated ARS to be +ACI-ARS-long+ACI- rather than +ACI-ARS-short+ACI-

drivers/acpi/nfit/core.c +AHw- 2 +--
drivers/nvdimm/nd-core.h +AHw- 2 +-+-
drivers/nvdimm/pfn+AF8-devs.c +AHw- 64 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+------------------
drivers/nvdimm/region+AF8-devs.c +AHw- 41 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
tools/testing/nvdimm/test/nfit.c +AHw- 35 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+---
5 files changed, 114 insertions(+-), 30 deletions(-)