Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1238656

Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup

From Logan Gunthorpe <logang@deltatee.com>
Newsgroups linux.kernel
Subject Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup
Date 2015-10-03 00:20 +0200
Message-ID <qfgQi-87k-9@gated-at.bofh.it> (permalink)
References <qbKae-20h-7@gated-at.bofh.it> <qbKae-20h-13@gated-at.bofh.it> <qfgwW-7vm-3@gated-at.bofh.it> <qfgwW-7vm-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi Dan,

Good to know you've already addressed the struct page issue. We'll watch 
out for an updated patchset to try.


On 02/10/15 03:53 PM, Dan Williams wrote:
> Hmm, I didn't have peer-to-peer PCI-E in mind for this mechanism, but
> the test report is welcome nonetheless.  The definition of dma_addr_t
> is the device view of host memory, not necessarily the device view of
> a peer device's memory range, so I expect you'll run into issues with
> IOMMUs and other parts of the kernel that assume this definition.

Yeah, we've actually been doing this with a number of more "hacky" 
techniques for some time. ZONE_DEVICE just provides us with a much 
cleaner way to set this up that doesn't require patching around 
get_user_pages in various places in the kernel.

We've never had any issues with the IOMMU getting in the way (at least 
on Intel x86). My understanding always was that the IOMMU sits between a 
PCI card and main memory; it doesn't get in the way of peer-to-peer 
transfers. Though admittedly, I don't have a complete understanding of 
how the IOMMU works in the kernel. I'm just speaking from experimental 
experience. We've never actually tried this on other architectures.

Thanks,

Logan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 14/15] mm, dax,  pmem: introduce {get|put}_dev_pagemap() for dax-gup Dan Williams <dan.j.williams@intel.com> - 2015-09-23 06:50 +0200
  Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap()  for dax-gup Logan Gunthorpe <logang@deltatee.com> - 2015-10-03 00:00 +0200
    Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap()  for dax-gup Dan Williams <dan.j.williams@intel.com> - 2015-10-03 00:00 +0200
      Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap()  for dax-gup Logan Gunthorpe <logang@deltatee.com> - 2015-10-03 00:20 +0200
      Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap()  for dax-gup Logan Gunthorpe <logang@deltatee.com> - 2015-10-03 00:50 +0200
        Re: [PATCH 14/15] mm, dax, pmem: introduce {get|put}_dev_pagemap()  for dax-gup Dan Williams <dan.j.williams@intel.com> - 2015-10-03 01:00 +0200

csiph-web