From: Jerome Glisse <j.glisse@gmail.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Christoph Hellwig <hch@lst.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Boaz Harrosh <boaz@plexistor.com>, Rik van Riel <riel@redhat.com>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
david <david@fromorbit.com>, Ingo Molnar <mingo@kernel.org>,
Linux MM <linux-mm@kvack.org>, Ingo Molnar <mingo@redhat.com>,
Mel Gorman <mgorman@suse.de>, "H. Peter Anvin" <hpa@zytor.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"torvalds@linux-foundation.org" <torvalds@linux-foundation.org>,
David Woodhouse <dwmw2@infradead.org>
Subject: Re: [RFC PATCH 1/7] x86, mm: ZONE_DEVICE for "device memory"
Date: Fri, 21 Aug 2015 11:15:12 -0400 [thread overview]
Message-ID: <20150821151511.GB3244@gmail.com> (raw)
In-Reply-To: <CAPcyv4jiXqcy_kUrArw7cpbySDoaQe+UF5JcvihxyGyxjsWKZw@mail.gmail.com>
On Fri, Aug 21, 2015 at 08:02:51AM -0700, Dan Williams wrote:
> [ Adding David Woodhouse ]
>
> On Sat, Aug 15, 2015 at 1:59 AM, Christoph Hellwig <hch@lst.de> wrote:
> > On Fri, Aug 14, 2015 at 02:52:15PM -0700, Dan Williams wrote:
> >> The idea is that this memory is not meant to be available to the page
> >> allocator and should not count as new memory capacity. We're only
> >> hotplugging it to get struct page coverage.
> >
> > This might need a bigger audit of the max_pfn usages. I remember
> > architectures using it as a decisions for using IOMMUs or similar.
>
> We chatted about this at LPC yesterday. The takeaway was that the
> max_pfn checks that the IOMMU code does is for checking whether a
> device needs an io-virtual mapping to reach addresses above its DMA
> limit (if it can't do 64-bit DMA). Given the capacities of persistent
> memory it's likely that a device with this limitation already can't
> address all of RAM let alone PMEM. So it seems to me that updating
> max_pfn for PMEM hotplug does not buy us anything except a few more
> opportunities to confuse PMEM as typical RAM.
I think it is wrong do not update max_pfn for 3 reasons :
- In some case your PMEM memory will end up below current max_pfn
value so device doing DMA can confuse your PMEM for regular RAM.
- Given the above, not updating PMEM means you are not consistant,
ie on some computer PMEM will be DMA addressable by device and
on other computer it would not. Because different RAM and PMEM
configuration, different bios, ... that cause max_pfn to be below
range where PMEM get hotpluged.
- Last why would we want to block device to access PMEM directly ?
Wouldn't it make sense for some device like say network to read
PMEM directly and stream it over the network ? All this happening
through IOMMU (i am assuming PCIE network card using IOMMU). Which
imply having the IOMMU consider this like regular mapping (ignoring
Will Davis recent patchset here that might affect the IOMMU max_pfn
test).
Cheers,
Jerome
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2015-08-21 15:15 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-13 3:50 [RFC PATCH 0/7] 'struct page' driver for persistent memory Dan Williams
2015-08-13 3:50 ` [RFC PATCH 1/7] x86, mm: ZONE_DEVICE for "device memory" Dan Williams
2015-08-14 21:37 ` Jerome Glisse
2015-08-14 21:52 ` Dan Williams
2015-08-14 22:06 ` Jerome Glisse
2015-08-14 22:33 ` Dan Williams
2015-08-15 2:11 ` Dan Williams
2015-08-17 21:45 ` Jerome Glisse
2015-08-18 0:46 ` Dan Williams
2015-08-18 16:55 ` Jerome Glisse
2015-08-18 17:23 ` Dan Williams
2015-08-18 19:06 ` Jerome Glisse
2015-08-20 0:49 ` Dan Williams
2015-08-15 8:59 ` Christoph Hellwig
2015-08-21 15:02 ` Dan Williams
2015-08-21 15:15 ` Jerome Glisse [this message]
2015-08-15 13:33 ` Christoph Hellwig
2015-08-13 3:50 ` [RFC PATCH 2/7] x86, mm: introduce struct vmem_altmap Dan Williams
2015-08-13 3:50 ` [RFC PATCH 3/7] x86, mm: arch_add_dev_memory() Dan Williams
2015-08-13 3:50 ` [RFC PATCH 4/7] mm: register_dev_memmap() Dan Williams
2015-08-15 9:04 ` Christoph Hellwig
2015-08-13 3:50 ` [RFC PATCH 5/7] libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option Dan Williams
2015-08-15 9:06 ` Christoph Hellwig
2015-08-15 15:28 ` Dan Williams
2015-08-15 15:58 ` Christoph Hellwig
2015-08-15 16:04 ` Dan Williams
2015-08-17 15:01 ` Christoph Hellwig
2015-08-17 15:32 ` Dan Williams
2015-08-13 3:50 ` [RFC PATCH 6/7] libnvdimm, pfn: 'struct page' provider infrastructure Dan Williams
2015-08-13 3:50 ` [RFC PATCH 7/7] libnvdimm, pmem: 'struct page' for pmem Dan Williams
2015-08-15 9:01 ` [RFC PATCH 0/7] 'struct page' driver for persistent memory Christoph Hellwig
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150821151511.GB3244@gmail.com \
--to=j.glisse@gmail.com \
--cc=boaz@plexistor.com \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@linux.intel.com \
--cc=david@fromorbit.com \
--cc=dwmw2@infradead.org \
--cc=hch@lst.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=mgorman@suse.de \
--cc=mingo@kernel.org \
--cc=mingo@redhat.com \
--cc=riel@redhat.com \
--cc=ross.zwisler@linux.intel.com \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).