[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4bbb0934-384a-533f-b964-6b3695719b25@redhat.com>
Date: Wed, 2 Jun 2021 14:08:58 +0200
From: David Hildenbrand <david@...hat.com>
To: Max Gurtovoy <mgurtovoy@...dia.com>,
linux-nvme@...ts.infradead.org, dan.j.williams@...el.com,
logang@...tatee.com, linux-mm@...ck.org, hch@....de
Cc: sagi@...mberg.me, oren@...dia.com, linux-kernel@...r.kernel.org,
akpm@...ux-foundation.org
Subject: Re: [RFC PATCH 0/3] PCI/P2PMEM: introduce pci_p2pdma_align_size API
On 02.06.21 13:10, Max Gurtovoy wrote:
> 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.
Just some high-level questions:
A CMB is just a PCI BAR used for communicating with the device, to be
mapped into physical address space, right? I assume the relevant hotplug
code is:
drivers/pci/p2pdma.c: addr = devm_memremap_pages(&pdev->dev, pgmap);
correct?
Having a BAR span such weird sizes will most probably never be fully
supported. But if sub-sections work for you, great.
--
Thanks,
David / dhildenb
Powered by blists - more mailing lists