All of lore.kernel.org
 help / color / mirror / Atom feed
From: Logan Gunthorpe <logang@deltatee.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: "linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
	Linux MM <linux-mm@kvack.org>,
	Stephen Bates <Stephen.Bates@pmcs.com>
Subject: Re: [PATCH v2 00/20] get_user_pages() for dax mappings
Date: Fri, 4 Dec 2015 18:58:36 -0700	[thread overview]
Message-ID: <566244CC.5080107@deltatee.com> (raw)
In-Reply-To: <CAPcyv4jjyzKgPMzdwms8xH-_RoKEGxRp1r4qxEcPYmPv7qStqw@mail.gmail.com>

Hey,

On 03/12/15 07:16 PM, Dan Williams wrote:
> I could loosen the restriction a bit to allow one unaligned mapping
> per section.  However, if another mapping request came along that
> tried to map a free part of the section it would fail because the code
> depends on a  "1 dev_pagemap per section" relationship.  Seems an ok
> compromise to me...

Sure, that would work fine for us. I think it would be very unusual ;to 
need to map two adjacent BARs in this way.

> Could you share the test setup for this one so I can try to reproduce?
>   As far as I can see this looks like an ext4 internals issue.

Ok, well it's somewhat specialized and I can't run the failing test in a 
VM because it requires infiniband hardware. We have a PCI card that has 
a large memory backed BAR space. To use that with zone_device we have a 
kernel patch that allows doing the zone device mapping with io memory 
that has write combining enabled. Then we have an out of tree kernel 
module that creates a block device from the PCI bar (similar to the pmem 
code).

I could send you all of that, assuming you have a suitable PCI device. 
However, I'm hoping none of the above has anything to do with the failure.

The test that is failing is a very simple RDMA test with an mmaped DAX 
file. So hopefully it has nothing to do with the fact that a PCI device 
backs it. So if you have some IB hardware available you could try our 
simple test code from here:

https://github.com/sbates130272/io_peer_mem/tree/master/test

The server must be run with no arguments. Then the client can be run 
with the address of the server as the first argument and a file that's 
in a DAX fs (with a size greater than 4MB). The client and server should 
be able to run on the same node, if necessary.

Let me know if this helps or if there's anything else I can provide. I 
can probably dig into it some more on Monday on our setup.

Logan

--
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>

  reply	other threads:[~2015-12-05  1:58 UTC|newest]

Thread overview: 69+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-10  0:55 [PATCH v2 00/20] get_user_pages() for dax mappings Dan Williams
2015-10-10  0:55 ` Dan Williams
2015-10-10  0:55 ` Dan Williams
2015-10-10  0:55 ` [PATCH v2 01/20] block: generic request_queue reference counting Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-11 12:59   ` Christoph Hellwig
2015-10-11 12:59     ` Christoph Hellwig
2015-10-13  0:09     ` Dan Williams
2015-10-13  0:09       ` Dan Williams
2015-10-10  0:55 ` [PATCH v2 02/20] dax: increase granularity of dax_clear_blocks() operations Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-10  0:55 ` [PATCH v2 03/20] block, dax: fix lifetime of in-kernel dax mappings with dax_map_atomic() Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-10  0:55 ` [PATCH v2 04/20] mm: introduce __get_dev_pagemap() Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-10  0:55 ` [PATCH v2 05/20] x86, mm: introduce vmem_altmap to augment vmemmap_populate() Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-19 22:53   ` Williams, Dan J
2015-10-19 22:53     ` Williams, Dan J
2015-10-10  0:55 ` [PATCH v2 06/20] libnvdimm, pfn, pmem: allocate memmap array in persistent memory Dan Williams
2015-10-10  0:55   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 07/20] avr32: convert to asm-generic/memory_model.h Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 08/20] hugetlb: fix compile error on tile Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 09/20] frv: fix compiler warning from definition of __pmd() Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 10/20] um: kill pfn_t Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 11/20] kvm: rename pfn_t to kvm_pfn_t Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10 15:35   ` Christoffer Dall
2015-10-10 15:35     ` Christoffer Dall
2015-10-10 20:35   ` Paolo Bonzini
2015-10-10 20:35     ` Paolo Bonzini
2015-10-10 20:57     ` Dan Williams
2015-10-10 20:57       ` Dan Williams
2015-10-12 12:51       ` Paolo Bonzini
2015-10-12 12:51         ` Paolo Bonzini
2015-10-12 16:16         ` Dan Williams
2015-10-12 16:16           ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 12/20] mips: fix PAGE_MASK definition Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 13/20] mm, dax, pmem: introduce pfn_t Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 14/20] mm, dax, gpu: convert vm_insert_mixed to pfn_t, introduce _PAGE_DEVMAP Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 15/20] mm, dax: convert vmf_insert_pfn_pmd() to pfn_t Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 16/20] list: introduce list_poison() and LIST_POISON3 Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:56 ` [PATCH v2 17/20] mm, dax, pmem: introduce {get|put}_dev_pagemap() for dax-gup Dan Williams
2015-10-10  0:56   ` Dan Williams
2015-10-10  0:57 ` [PATCH v2 18/20] block: notify queue death confirmation Dan Williams
2015-10-10  0:57   ` Dan Williams
2015-10-10  0:57 ` [PATCH v2 19/20] mm, pmem: devm_memunmap_pages(), truncate and unmap ZONE_DEVICE pages Dan Williams
2015-10-10  0:57   ` Dan Williams
2015-10-10  0:57 ` [PATCH v2 20/20] mm, x86: get_user_pages() for dax mappings Dan Williams
2015-10-10  0:57   ` Dan Williams
2015-10-23 21:06 ` [PATCH v2 00/20] " Logan Gunthorpe
2015-10-23 21:06   ` Logan Gunthorpe
2015-11-30 22:15   ` Dan Williams
2015-12-02 22:02     ` Logan Gunthorpe
2015-12-02 22:04       ` Dan Williams
2015-12-04  2:16       ` Dan Williams
2015-12-05  1:58         ` Logan Gunthorpe [this message]
2015-12-08  0:00           ` Logan Gunthorpe
2015-12-08  0:48             ` Dan Williams

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=566244CC.5080107@deltatee.com \
    --to=logang@deltatee.com \
    --cc=Stephen.Bates@pmcs.com \
    --cc=dan.j.williams@intel.com \
    --cc=linux-mm@kvack.org \
    --cc=linux-nvdimm@lists.01.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 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.