From: konrad.wilk@oracle•com (Konrad Rzeszutek Wilk)
To: linux-arm-kernel@lists•infradead.org
Subject: [Xen-devel] [PATCH v2 0/3] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem
Date: Wed, 9 Jul 2014 09:47:54 -0400 [thread overview]
Message-ID: <20140709134754.GA21837@laptop.dumpdata.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1407091126060.27641@kaball.uk.xensource.com>
On Wed, Jul 09, 2014 at 11:30:49AM +0100, Stefano Stabellini wrote:
> On Tue, 8 Jul 2014, Konrad Rzeszutek Wilk wrote:
> > On Tue, Jul 08, 2014 at 04:40:46PM +0100, Stefano Stabellini wrote:
> > > Hi all,
> > > Xen support in Linux for ARM and ARM64 suffers from lack of support for
> > > multiple mfn to pfn mappings: whenever a frontend grants the same page
> > > multiple times to the backend, the mfn to pfn accounting in
> > > arch/arm/xen/p2m.c fails. The issue has become critical since v3.15,
> > > when xen-netfront/xen-netback switched from grant copies to grant
> > > mappings, therefore causing the issue to happen much more often.
> > >
> > > Fixing the mfn to pfn accounting in p2m.c is difficult and expensive,
> > > therefore we are looking for alternative solutions. One idea is avoiding
> > > mfn to pfn conversions altogether. The only code path that needs them is
> > > swiotlb-xen:unmap_page (and single_for_cpu and single_for_device).
> >
> > I seem to have lost track of that patch? Or is it in now in the kernel?
> >
> > Could you include the git commit id or URL for it in the cover letter please?
>
> I take that you are asking the id of the commit that introduced the
> function calls that need mfn to pfn conversions in swiotlb-xen, right?
Earlier you said: "avoiding mfn to pfn conversions. The only code path
that needs them is .." So I suspected (it seems wrongly) that there was
some SWIOTLB patch that would do this and I had missed it.
But it seems that this soo fresh you hadn't yet posted the SWIOTLB changes
to use this new API - so I hadn't missed them :-)
> The commit that introduced them is:
>
> commit 6cf054636261ca5c88f3c2984058d51f927b8a2e
> Author: Stefano Stabellini <stefano.stabellini@eu•citrix.com>
> Date: Fri Oct 25 10:33:25 2013 +0000
>
> swiotlb-xen: use xen_dma_map/unmap_page, xen_dma_sync_single_for_cpu/device
>
> xen_dma_unmap_page on x86 doesn't do anything but on ARM performs
> important cache invalidate operations for non-dma-coherent devices.
>
>
>
> > Thanks
> > >
> > > To avoid mfn to pfn conversions we rely on a second p2m mapping done by
> > > Xen (a separate patch series will be sent for Xen). In Linux we use it
> > > to perform the cache maintenance operations without mfns conversions.
> > >
> > >
> > > Changes in v2:
> > > - introduce XENFEAT_grant_map_11;
> > > - remeber the ptep corresponding to scratch pages so that we don't need
> > > to calculate it again every time;
> > > - do not acutally unmap the page on xen_mm32_unmap;
> > > - properly account preempt_enable/disable;
> > > - do not check for mfn in xen_add_phys_to_mach_entry.
> > >
> > >
> > > Stefano Stabellini (3):
> > > xen/arm: introduce XENFEAT_grant_map_11
> > > xen/arm: reimplement xen_dma_unmap_page & friends
> > > xen/arm: remove mach_to_phys rbtree
> > >
> > > arch/arm/include/asm/xen/page-coherent.h | 25 ++--
> > > arch/arm/include/asm/xen/page.h | 9 --
> > > arch/arm/xen/Makefile | 2 +-
> > > arch/arm/xen/enlighten.c | 6 +
> > > arch/arm/xen/mm32.c | 202 ++++++++++++++++++++++++++++++
> > > arch/arm/xen/p2m.c | 66 +---------
> > > include/xen/interface/features.h | 3 +
> > > 7 files changed, 220 insertions(+), 93 deletions(-)
> > > create mode 100644 arch/arm/xen/mm32.c
> > >
> > > _______________________________________________
> > > Xen-devel mailing list
> > > Xen-devel at lists.xen.org
> > > http://lists.xen.org/xen-devel
> >
next prev parent reply other threads:[~2014-07-09 13:47 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-08 15:40 [PATCH v2 0/3] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem Stefano Stabellini
2014-07-08 15:42 ` [PATCH v2 1/3] xen/arm: introduce XENFEAT_grant_map_11 Stefano Stabellini
2014-07-08 15:49 ` Ian Campbell
2014-07-08 15:54 ` Stefano Stabellini
2014-07-08 15:59 ` Ian Campbell
2014-07-08 16:53 ` [Xen-devel] " Julien Grall
2014-07-08 16:16 ` David Vrabel
2014-07-08 15:42 ` [PATCH v2 2/3] xen/arm: reimplement xen_dma_unmap_page & friends Stefano Stabellini
2014-07-08 15:42 ` [PATCH v2 3/3] xen/arm: remove mach_to_phys rbtree Stefano Stabellini
2014-07-08 16:05 ` [Xen-devel] [PATCH v2 0/3] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem Konrad Rzeszutek Wilk
2014-07-09 10:30 ` Stefano Stabellini
2014-07-09 13:47 ` Konrad Rzeszutek Wilk [this message]
2014-07-09 14:14 ` Stefano Stabellini
2014-07-09 14:31 ` Denis Schneider
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=20140709134754.GA21837@laptop.dumpdata.com \
--to=konrad.wilk@oracle$(echo .)com \
--cc=linux-arm-kernel@lists$(echo .)infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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