[PATCH v3 0/6] Fix and enable pmem as RAM device on arm64
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: Catalin Marinas <catalin.marinas@xxxxxxx>, Will Deacon <will@xxxxxxxxxx>, Tony Luck <tony.luck@xxxxxxxxx>, Fenghua Yu <fenghua.yu@xxxxxxxxx>, Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx>, Rich Felker <dalias@xxxxxxxx>, Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>, Andy Lutomirski <luto@xxxxxxxxxx>, Peter Zijlstra <peterz@xxxxxxxxxxxxx>, Thomas Gleixner <tglx@xxxxxxxxxxxxx>, Ingo Molnar <mingo@xxxxxxxxxx>, Borislav Petkov <bp@xxxxxxxxx>, David Hildenbrand <david@xxxxxxxxxx>
- Subject: [PATCH v3 0/6] Fix and enable pmem as RAM device on arm64
- From: Jia He <justin.he@xxxxxxx>
- Date: Thu, 9 Jul 2020 10:06:23 +0800
- Cc: x86@xxxxxxxxxx, "H. Peter Anvin" <hpa@xxxxxxxxx>, Dan Williams <dan.j.williams@xxxxxxxxx>, Vishal Verma <vishal.l.verma@xxxxxxxxx>, Dave Jiang <dave.jiang@xxxxxxxxx>, Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>, Baoquan He <bhe@xxxxxxxxxx>, Chuhong Yuan <hslester96@xxxxxxxxx>, Mike Rapoport <rppt@xxxxxxxxxxxxx>, Logan Gunthorpe <logang@xxxxxxxxxxxx>, Masahiro Yamada <masahiroy@xxxxxxxxxx>, Michal Hocko <mhocko@xxxxxxxx>, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, linux-nvdimm@xxxxxxxxxxxx, linux-mm@xxxxxxxxx, Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>, Kaly Xin <Kaly.Xin@xxxxxxx>, Jia He <justin.he@xxxxxxx>
This fixies a few issues when I tried to enable pmem as RAM device on arm64.
To use memory_add_physaddr_to_nid as a fallback nid, it would be better
implement a general version (__weak) in mm/memory_hotplug. After that, arm64/
sh/s390 can simply use the general version, and PowerPC/ia64/x86 will use
arch specific version.
Tested on ThunderX2 host/qemu "-M virt" guest with a nvdimm device. The
memblocks from the dax pmem device can be either hot-added or hot-removed
on arm64 guest. Also passed the compilation test on x86.
Changes:
v3: - introduce general version memory_add_physaddr_to_nid, refine the arch
specific one
- fix an uninitialization bug in v2 device-dax patch
v2: https://lkml.org/lkml/2020/7/7/71
- Drop unnecessary patch to harden try_offline_node
- Use new solution(by David) to fix dev->target_node=-1 during probing
- Refine the mem_hotplug_begin/done patch
v1: https://lkml.org/lkml/2020/7/5/381
Jia He (6):
mm/memory_hotplug: introduce default dummy
memory_add_physaddr_to_nid()
arm64/mm: use default dummy memory_add_physaddr_to_nid()
sh/mm: use default dummy memory_add_physaddr_to_nid()
mm: don't export memory_add_physaddr_to_nid in arch specific directory
device-dax: use fallback nid when numa_node is invalid
mm/memory_hotplug: fix unpaired mem_hotplug_begin/done
arch/arm64/mm/numa.c | 10 ----------
arch/ia64/mm/numa.c | 2 --
arch/sh/mm/init.c | 9 ---------
arch/x86/mm/numa.c | 1 -
drivers/dax/kmem.c | 21 +++++++++++++--------
mm/memory_hotplug.c | 15 ++++++++++++---
6 files changed, 25 insertions(+), 33 deletions(-)
--
2.17.1
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]