All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] PCI/P2PMEM: introduce pci_p2pdma_align_size API
@ 2021-06-02 11:10 ` Max Gurtovoy
  0 siblings, 0 replies; 20+ messages in thread
From: Max Gurtovoy @ 2021-06-02 11:10 UTC (permalink / raw)
  To: linux-nvme, dan.j.williams, logang, linux-mm, hch
  Cc: sagi, david, oren, linux-kernel, akpm, Max Gurtovoy

Hi all,
In hotplugged memory (from check_pfn_span function):
"
Disallow all operations smaller than a sub-section and only
allow operations smaller than a section for
SPARSEMEM_VMEMMAP. Note that check_hotplug_memory_range()
enforces a larger memory_block_size_bytes() granularity for
memory that will be marked online, so this check should only
fire for direct arch_{add,remove}_memory() users outside of
add_memory_resource()
"

This restriction will disqualify, for example, large NVMe CMBs that might have
non power of 2 number of pages (e.g. 32767 pages of 4KB). For these
devices, the CMB size will be rounded down from 0x7fff000 to 0x7e00000
but it's better than having un-mapped CMB.

If we all agree on the approach, this RFC can assist as-is to these NVMe
devices and other P2PMEM devices in the future and can considered for
the next merge window.

Max Gurtovoy (3):
  mm,memory_hotplug: export mhp min alignment
  PCI/P2PMEM: introduce pci_p2pdma_align_size API
  nvme-pci: align CMB size according to P2PMEM alignment

 drivers/nvme/host/pci.c        |  7 +++++++
 drivers/pci/p2pdma.c           | 23 +++++++++++++++++++++++
 include/linux/memory_hotplug.h |  5 +++++
 include/linux/pci-p2pdma.h     |  5 +++++
 mm/memory_hotplug.c            | 33 +++++++++++++++++++--------------
 5 files changed, 59 insertions(+), 14 deletions(-)

-- 
2.18.1


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2021-06-21 16:11 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-02 11:10 [RFC PATCH 0/3] PCI/P2PMEM: introduce pci_p2pdma_align_size API Max Gurtovoy
2021-06-02 11:10 ` Max Gurtovoy
2021-06-02 11:10 ` [PATCH 1/3] mm,memory_hotplug: export mhp min alignment Max Gurtovoy
2021-06-02 11:10   ` Max Gurtovoy
2021-06-02 12:14   ` David Hildenbrand
2021-06-02 12:14     ` David Hildenbrand
2021-06-03 10:52     ` Max Gurtovoy
2021-06-03 10:52       ` Max Gurtovoy
2021-06-21 16:11       ` Max Gurtovoy
2021-06-21 16:11         ` Max Gurtovoy
2021-06-02 11:10 ` [PATCH 2/3] PCI/P2PMEM: introduce pci_p2pdma_align_size API Max Gurtovoy
2021-06-02 11:10   ` Max Gurtovoy
2021-06-02 11:10 ` [PATCH 3/3] nvme-pci: align CMB size according to P2PMEM alignment Max Gurtovoy
2021-06-02 11:10   ` Max Gurtovoy
2021-06-02 14:39   ` Keith Busch
2021-06-02 14:39     ` Keith Busch
2021-06-02 14:51     ` Max Gurtovoy
2021-06-02 14:51       ` Max Gurtovoy
2021-06-02 12:08 ` [RFC PATCH 0/3] PCI/P2PMEM: introduce pci_p2pdma_align_size API David Hildenbrand
2021-06-02 12:08   ` David Hildenbrand

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.