* [GIT PULL] libnvdimm for v5.7
@ 2020-04-07 20:12 Dan Williams
2020-04-09 4:11 ` Linus Torvalds
2020-04-09 4:55 ` pr-tracker-bot
0 siblings, 2 replies; 4+ messages in thread
From: Dan Williams @ 2020-04-07 20:12 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-nvdimm, Linux Kernel Mailing List, Vishal L Verma
Hi Linus, please pull from:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
tags/libnvdimm-for-5.7
...to receive the libnvdimm and dax update for this cycle. There were
multiple touches outside of drivers/nvdimm/ this round to add cross
arch compatibility to the devm_memremap_pages() interface, enhance
numa information for persistent memory ranges, and add a
zero_page_range() dax operation. This cycle I switched from the
patchwork api to Konstantin's b4 script for collecting tags (from x86,
PowerPC, filesystem, and device-mapper folks), and everything looks to
have gone ok there. This has all appeared in -next with no reported
issues.
Given the current environment where one might need to step away on
short notice I thought it would be a good idea to highlight to you and
others a backup maintainer for libnvdimm. Vishal, has agreed to step
in if circumstances make me non-responsive for multiple days. Not
expecting anything, just being proactive.
---
The following changes since commit 11a48a5a18c63fd7621bb050228cebf13566e4d8:
Linux 5.6-rc2 (2020-02-16 13:16:59 -0800)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
tags/libnvdimm-for-5.7
for you to fetch changes up to f6d2b802f80d0ca89ee1f51c1781b3f79cdb25d5:
Merge branch 'for-5.7/libnvdimm' into libnvdimm-for-next (2020-04-02
19:55:17 -0700)
----------------------------------------------------------------
libnvdimm for 5.7
- Add support for region alignment configuration and enforcement to
fix compatibility across architectures and PowerPC page size
configurations.
- Introduce 'zero_page_range' as a dax operation. This facilitates
filesystem-dax operation without a block-device.
- Introduce phys_to_target_node() to facilitate drivers that want to
know resulting numa node if a given reserved address range was
onlined.
- Advertise a persistence-domain for of_pmem and papr_scm. The
persistence domain indicates where cpu-store cycles need to reach in
the platform-memory subsystem before the platform will consider them
power-fail protected.
- Promote numa_map_to_online_node() to a cross-kernel generic facility.
- Save x86 numa information to allow for node-id lookups for reserved
memory ranges, deploy that capability for the e820-pmem driver.
- Pick up some miscellaneous minor fixes, that missed v5.6-final,
including a some smatch reports in the ioctl path and some unit test
compilation fixups.
- Fixup some flexible-array declarations.
----------------------------------------------------------------
Aneesh Kumar K.V (1):
libnvdimm: Update persistence domain value for of_pmem and papr_scm device
Dan Carpenter (2):
acpi/nfit: improve bounds checking for 'func'
libnvdimm: Out of bounds read in __nd_ioctl()
Dan Williams (15):
ACPI: NUMA: Up-level "map to online node" functionality
mm/numa: Skip NUMA_NO_NODE and online nodes in numa_map_to_online_node()
powerpc/papr_scm: Switch to numa_map_to_online_node()
x86/mm: Introduce CONFIG_NUMA_KEEP_MEMINFO
x86/NUMA: Provide a range-to-target_node lookup facility
libnvdimm/e820: Retrieve and populate correct 'target_node' info
mm/memremap_pages: Kill unused __devm_memremap_pages()
mm/memremap_pages: Introduce memremap_compat_align()
libnvdimm/pfn: Prevent raw mode fallback if pfn-infoblock valid
libnvdimm/namespace: Enforce memremap_compat_align()
libnvdimm/region: Introduce NDD_LABELING
libnvdimm/region: Introduce an 'align' attribute
Merge branch 'for-5.6/libnvdimm-fixes' into libnvdimm-for-next
Merge branch 'for-5.7/numa' into libnvdimm-for-next
Merge branch 'for-5.7/libnvdimm' into libnvdimm-for-next
Gustavo A. R. Silva (3):
ACPI: NFIT: Replace zero-length array with flexible-array member
libnvdimm/label: Replace zero-length array with flexible-array member
libnvdimm/region: Replace zero-length array with flexible-array member
Jan Kara (1):
tools/testing/nvdimm: Fix compilation failure without
CONFIG_DEV_DAX_PMEM_COMPAT
Lukas Bulwahn (1):
MAINTAINERS: clarify maintenance of nvdimm testing tool
Santosh Sivaraj (1):
tools/test/nvdimm: Fix out of tree build
Vivek Goyal (7):
pmem: Add functions for reading/writing page to/from pmem
dax, pmem: Add a dax operation zero_page_range
s390,dcssblk,dax: Add dax zero_page_range operation to dcssblk driver
dm,dax: Add dax zero_page_range operation
dax: Use new dax zero page method for zeroing a page
dax,iomap: Add helper dax_iomap_zero() to zero a range
dax: Move mandatory ->zero_page_range() check in alloc_dax()
YueHaibing (1):
libnvdimm/region: Fix build error
MAINTAINERS | 1 +
arch/powerpc/Kconfig | 1 +
arch/powerpc/mm/ioremap.c | 21 +++++
arch/powerpc/platforms/pseries/papr_scm.c | 27 ++-----
arch/x86/Kconfig | 1 +
arch/x86/mm/numa.c | 67 +++++++++++----
drivers/acpi/nfit/core.c | 14 ++--
drivers/acpi/nfit/nfit.h | 13 +--
drivers/acpi/numa/srat.c | 41 ----------
drivers/dax/bus.c | 4 +-
drivers/dax/super.c | 28 ++++++-
drivers/md/dm-linear.c | 18 +++++
drivers/md/dm-log-writes.c | 17 ++++
drivers/md/dm-stripe.c | 23 ++++++
drivers/md/dm.c | 32 +++++++-
drivers/nvdimm/bus.c | 6 +-
drivers/nvdimm/dimm.c | 2 +-
drivers/nvdimm/dimm_devs.c | 95 +++++++++++++++++-----
drivers/nvdimm/e820.c | 18 +----
drivers/nvdimm/label.h | 2 +-
drivers/nvdimm/namespace_devs.c | 28 ++++++-
drivers/nvdimm/nd.h | 7 +-
drivers/nvdimm/of_pmem.c | 4 +-
drivers/nvdimm/pfn.h | 12 +++
drivers/nvdimm/pfn_devs.c | 40 +++++++--
drivers/nvdimm/pmem.c | 101 ++++++++++++++---------
drivers/nvdimm/region_devs.c | 130 ++++++++++++++++++++++++++----
drivers/s390/block/dcssblk.c | 20 ++++-
fs/dax.c | 59 ++++++--------
fs/iomap/buffered-io.c | 9 +--
include/linux/acpi.h | 23 +++++-
include/linux/dax.h | 21 ++---
include/linux/device-mapper.h | 3 +
include/linux/io.h | 2 -
include/linux/libnvdimm.h | 2 +
include/linux/memremap.h | 8 ++
include/linux/mmzone.h | 1 +
include/linux/numa.h | 30 ++++++-
lib/Kconfig | 3 +
mm/Kconfig | 5 ++
mm/mempolicy.c | 26 ++++++
mm/memremap.c | 23 ++++++
tools/testing/nvdimm/Kbuild | 4 +-
tools/testing/nvdimm/test/Kbuild | 4 +-
tools/testing/nvdimm/test/nfit.c | 2 +
45 files changed, 737 insertions(+), 261 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] libnvdimm for v5.7
2020-04-07 20:12 [GIT PULL] libnvdimm for v5.7 Dan Williams
@ 2020-04-09 4:11 ` Linus Torvalds
2020-04-09 5:14 ` Dan Williams
2020-04-09 4:55 ` pr-tracker-bot
1 sibling, 1 reply; 4+ messages in thread
From: Linus Torvalds @ 2020-04-09 4:11 UTC (permalink / raw)
To: Dan Williams; +Cc: linux-nvdimm, Linux Kernel Mailing List, Vishal L Verma
On Tue, Apr 7, 2020 at 1:12 PM Dan Williams <dan.j.williams@intel.com> wrote:
>
> mm/memremap_pages: Introduce memremap_compat_align()
Why is this an exported function that just returns a constant?
Why isn't it just a #define (or inline) in a header file?
Yes, yes, it would need to be conditional on not having that
CONFIG_ARCH_HAS_MEMREMAP_COMPAT_ALIGN, but it does look strange.
I've pulled it, since it doesn't matter that much, but I find it silly
to have full-fledged functions - and exported them GPL-only - to
return a constant. Crazy.
Linus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] libnvdimm for v5.7
2020-04-07 20:12 [GIT PULL] libnvdimm for v5.7 Dan Williams
2020-04-09 4:11 ` Linus Torvalds
@ 2020-04-09 4:55 ` pr-tracker-bot
1 sibling, 0 replies; 4+ messages in thread
From: pr-tracker-bot @ 2020-04-09 4:55 UTC (permalink / raw)
To: Dan Williams
Cc: Linus Torvalds, linux-nvdimm, Linux Kernel Mailing List, Vishal L Verma
The pull request you sent on Tue, 7 Apr 2020 13:12:41 -0700:
> git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm tags/libnvdimm-for-5.7
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/9b06860d7c1f1f4cb7d70f92e47dfa4a91bd5007
Thank you!
--
Deet-doot-dot, I am a bot.
https://korg.wiki.kernel.org/userdoc/prtracker
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [GIT PULL] libnvdimm for v5.7
2020-04-09 4:11 ` Linus Torvalds
@ 2020-04-09 5:14 ` Dan Williams
0 siblings, 0 replies; 4+ messages in thread
From: Dan Williams @ 2020-04-09 5:14 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-nvdimm, Linux Kernel Mailing List, Vishal L Verma
On Wed, Apr 8, 2020 at 9:11 PM Linus Torvalds
<torvalds@linux-foundation.org> wrote:
>
> On Tue, Apr 7, 2020 at 1:12 PM Dan Williams <dan.j.williams@intel.com> wrote:
> >
> > mm/memremap_pages: Introduce memremap_compat_align()
>
> Why is this an exported function that just returns a constant?
>
> Why isn't it just a #define (or inline) in a header file?
>
> Yes, yes, it would need to be conditional on not having that
> CONFIG_ARCH_HAS_MEMREMAP_COMPAT_ALIGN, but it does look strange.
>
> I've pulled it, since it doesn't matter that much, but I find it silly
> to have full-fledged functions - and exported them GPL-only - to
> return a constant. Crazy.
Yes. tl;dr I gave up after failing to unwind a header dependency chain [1].
The source of the trouble was trying to find an existing top-level
header file that included an asm local version, but also needed to
include mmzone.h for the definition of SUBSECTION_SIZE.
include/linux/io.h fit that requirement, pulling in mmzone.h there
proved more difficult than my header unwinding skills could
accomplish.
[1]: https://git.kernel.org/pub/scm/linux/kernel/git/djbw/nvdimm.git/commit/?id=c990ae9376c15f40aff2f61f42a71be5b81f9ee1
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-04-09 5:14 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-07 20:12 [GIT PULL] libnvdimm for v5.7 Dan Williams
2020-04-09 4:11 ` Linus Torvalds
2020-04-09 5:14 ` Dan Williams
2020-04-09 4:55 ` pr-tracker-bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).