All of lore.kernel.org
 help / color / mirror / Atom feed
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
> > 

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: xen-devel@lists.xensource.com,
	Ian Campbell <Ian.Campbell@citrix.com>,
	Julien Grall <julien.grall@citrix.com>,
	David Vrabel <david.vrabel@citrix.com>,
	v1ne2go@gmail.com, linux-arm-kernel@lists.infradead.org
Subject: Re: [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@lists.xen.org
> > > http://lists.xen.org/xen-devel
> > 

  reply	other threads:[~2014-07-09 13:47 UTC|newest]

Thread overview: 28+ 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:40 ` Stefano Stabellini
2014-07-08 15:42 ` [PATCH v2 1/3] xen/arm: introduce XENFEAT_grant_map_11 Stefano Stabellini
2014-07-08 15:42   ` Stefano Stabellini
2014-07-08 15:49   ` Ian Campbell
2014-07-08 15:49     ` Ian Campbell
2014-07-08 15:54     ` Stefano Stabellini
2014-07-08 15:54       ` Stefano Stabellini
2014-07-08 15:59       ` Ian Campbell
2014-07-08 15:59         ` Ian Campbell
2014-07-08 16:53         ` [Xen-devel] " Julien Grall
2014-07-08 16:53           ` Julien Grall
2014-07-08 16:16   ` David Vrabel
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   ` Stefano Stabellini
2014-07-08 15:42 ` [PATCH v2 3/3] xen/arm: remove mach_to_phys rbtree Stefano Stabellini
2014-07-08 15:42   ` 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-08 16:05   ` Konrad Rzeszutek Wilk
2014-07-09 10:30   ` [Xen-devel] " Stefano Stabellini
2014-07-09 10:30     ` Stefano Stabellini
2014-07-09 13:47     ` Konrad Rzeszutek Wilk [this message]
2014-07-09 13:47       ` Konrad Rzeszutek Wilk
2014-07-09 14:14       ` Stefano Stabellini
2014-07-09 14:14         ` Stefano Stabellini
2014-07-09 14:31 ` Denis Schneider
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.com \
    --cc=linux-arm-kernel@lists.infradead.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.