|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: [PATCH] infiniband/mthca : Fix userland mapping of mthca
To: |
Vivien Bernet-Rollande <vbr@xxxxxxxxxxx> |
Subject: |
[Xen-devel] Re: [PATCH] infiniband/mthca : Fix userland mapping of mthca infiniband cards in Xen dom0 |
From: |
Roland Dreier <rdreier@xxxxxxxxx> |
Date: |
Wed, 05 Jan 2011 11:35:59 -0800 |
Authentication-results: |
sj-iport-4.cisco.com; dkim=neutral (message not signed) header.i=none |
Cc: |
jackm@xxxxxxxxxxxxxx, Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx, linux-rdma@xxxxxxxxxxxxxxx, rdreir@xxxxxxxxx, sean.hefty@xxxxxxxxx |
Delivery-date: |
Wed, 05 Jan 2011 11:37:58 -0800 |
Envelope-to: |
www-data@xxxxxxxxxxxxxxxxxxx |
In-reply-to: |
<1293034260.30522.426.camel@trax> (Vivien Bernet-Rollande's message of "Wed, 22 Dec 2010 17:11:00 +0100") |
List-help: |
<mailto:xen-devel-request@lists.xensource.com?subject=help> |
List-id: |
Xen developer discussion <xen-devel.lists.xensource.com> |
List-post: |
<mailto:xen-devel@lists.xensource.com> |
List-subscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe> |
List-unsubscribe: |
<http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe> |
References: |
<1293034260.30522.426.camel@trax> |
Sender: |
xen-devel-bounces@xxxxxxxxxxxxxxxxxxx |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
> --- kernel-2.6.32.fc12.orig/drivers/infiniband/hw/mthca/mthca_provider.c
> 2010-12-16 16:39:06.901130993 +0100
> +++ kernel-2.6.32.fc12.new/drivers/infiniband/hw/mthca/mthca_provider.c
> 2010-12-16 17:02:07.944127489 +0100
> @@ -391,6 +391,8 @@ static int mthca_mmap_uar(struct ib_ucon
> if (vma->vm_end - vma->vm_start != PAGE_SIZE)
> return -EINVAL;
>
> + vma->vm_flags |= VM_IO;
> + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
> vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
>
> if (io_remap_pfn_range(vma, vma->vm_start,
This is kind of unappealing -- is there no way to make
io_remap_pfn_range do the right thing under Xen? It seems unfortunate
to make drivers both set VM_IO and call io_remap_pfn_range. Or maybe we
should get rid of io_remap_pfn_range() and just have drivers set VM_IO
and call remap_pfn_range() all the time?
There are quite a few drivers under drivers/infiniband/hw that call
io_remap_pfn_range() -- presumably they all need the analogous fix?
Finally as a stylistic thing I would probably prefer to see the
vm_page_prot manipulation written as
vma->vm_page_prot = pgprot_noncached(vm_get_page_prot(vma->vm_flags));
and if this fix is really the right thing to do, this should probably be
wrapped up in a helper function; presumably every instance of
vma->vm_page_prot = pgprot_FOO(vma->vm_page_prot)
under drivers/ would need the same fix for Xen.
- R.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|