All of lore.kernel.org
 help / color / mirror / Atom feed
From: david.vrabel@citrix.com (David Vrabel)
To: linux-arm-kernel@lists.infradead.org
Subject: [Xen-devel] [RFC PATCH 0/2] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem
Date: Tue, 8 Jul 2014 11:50:23 +0100	[thread overview]
Message-ID: <53BBCCEF.1080704@citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1407072007470.27641@kaball.uk.xensource.com>

On 07/07/14 21:24, 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).
> 
> To avoid mfn to pfn conversions we rely on a second p2m mapping done by
> Xen, see the attached patch. In Linux we use it to perform the cache
> maintenance operations without mfns conversions.

This will only work with PIPT caches (or certain types of VIPT that also
have alias detection).  Do all the CPUs that Xen runs on have these type
of cache?

David

WARNING: multiple messages have this Message-ID (diff)
From: David Vrabel <david.vrabel@citrix.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	xen-devel@lists.xensource.com
Cc: Julien Grall <julien.grall@citrix.com>,
	v1ne2go@gmail.com, Ian Campbell <Ian.Campbell@citrix.com>,
	linux-arm-kernel@lists.infradead.org,
	David Vrabel <david.vrabel@citrix.com>
Subject: Re: [Xen-devel] [RFC PATCH 0/2] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem
Date: Tue, 8 Jul 2014 11:50:23 +0100	[thread overview]
Message-ID: <53BBCCEF.1080704@citrix.com> (raw)
In-Reply-To: <alpine.DEB.2.02.1407072007470.27641@kaball.uk.xensource.com>

On 07/07/14 21:24, 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).
> 
> To avoid mfn to pfn conversions we rely on a second p2m mapping done by
> Xen, see the attached patch. In Linux we use it to perform the cache
> maintenance operations without mfns conversions.

This will only work with PIPT caches (or certain types of VIPT that also
have alias detection).  Do all the CPUs that Xen runs on have these type
of cache?

David

  parent reply	other threads:[~2014-07-08 10:50 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-07 20:24 [RFC PATCH 0/2] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem Stefano Stabellini
2014-07-07 20:24 ` Stefano Stabellini
2014-07-07 20:26 ` [RFC PATCH 1/2] xen/arm: reimplement xen_dma_unmap_page & friends Stefano Stabellini
2014-07-07 20:26   ` Stefano Stabellini
2014-07-07 20:26 ` [RFC PATCH 2/2] xen/arm: remove mach_to_phys rbtree Stefano Stabellini
2014-07-07 20:26   ` Stefano Stabellini
2014-07-08  8:32 ` [RFC PATCH 0/2] xen/arm: fix "xen_add_mach_to_phys_entry: cannot add" problem Julien Grall
2014-07-08  9:37 ` [Xen-devel] " Julien Grall
2014-07-08  9:37   ` Julien Grall
2014-07-08 10:50 ` David Vrabel [this message]
2014-07-08 10:50   ` David Vrabel
2014-07-08 11:00   ` Stefano Stabellini
2014-07-08 11:00     ` Stefano Stabellini
2014-07-08 11:06   ` Ian Campbell
2014-07-08 11:06     ` Ian Campbell

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=53BBCCEF.1080704@citrix.com \
    --to=david.vrabel@citrix.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.