All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 0/5] xen/arm: introduce GNTTABOP_cache_flush
@ 2014-10-08 12:58 Stefano Stabellini
  2014-10-08 13:00 ` [PATCH v3 1/5] xen: introduce two different max_nr_dom0/domU_grant_frames parameters Stefano Stabellini
                   ` (5 more replies)
  0 siblings, 6 replies; 23+ messages in thread
From: Stefano Stabellini @ 2014-10-08 12:58 UTC (permalink / raw)
  To: xen-devel; +Cc: Julien Grall, Ian Campbell, Stefano Stabellini

Hi all,
this patch series introduces a new hypercall to perform cache
maintenance operations on behalf of the guest. It is useful for dom0 to
be able to cache flush pages involved in a dma operation with
non-coherent devices.

It also removes XENFEAT_grant_map_identity as the feature is no longer
necessary: it was used to achieve the same goal but the guest can now
use the hypercall instead. Keeping the flag would also have a
significant performance impact as a new p2m mapping gets created and
then destroyed for every grant that is mapped and unmapped in dom0.



Changes in v3:
- introduce two different  max_nr_dom0/domU_grant_frames parameters;
- x86: introduce more cache maintenance operations;
- reduce the time the grant_table lock is held;
- fix warning message;
- s/EFAULT/EPERM;
- s/llx/PRIx64;
- check offset and size independetly before checking their sum;
- rcu_lock_current_domain cannot fail;
- s/ENOSYS/EOPNOTSUPP;
- use clean_and_invalidate_xen_dcache_va_range to do both operations at
once;
- fold grant_map_exists in this patch;
- support "count" argument;
- make correspondent changes to compat/grant_table.c;
- introduce GNTTAB_CACHE_SOURCE_GREF to select the type of input in the
union;
- rename size field to length;
- make length and offset uint16_t;
- only take spin_lock if d != owner.

Changes in v2:
- make grant_map_exists static;
- remove the spin_lock in grant_map_exists;
- move the hypercall to GNTTABOP;
- do not check for mfn_to_page errors in GNTTABOP_cache_flush;
- take a reference to the page in GNTTABOP_cache_flush;
- replace printk with gdprintk in GNTTABOP_cache_flush;
- split long line in GNTTABOP_cache_flush;
- remove out label in GNTTABOP_cache_flush;
- move rcu_lock_current_domain down before the loop in
GNTTABOP_cache_flush;
- take a spin_lock before calling grant_map_exists in
GNTTABOP_cache_flush.



Stefano Stabellini (5):
      xen: introduce two different max_nr_dom0/domU_grant_frames parameters
      xen/arm: introduce invalidate_xen_dcache_va_range
      xen/x86: introduce more cache maintenance operations
      xen/arm: introduce GNTTABOP_cache_flush
      Revert "xen/arm: introduce XENFEAT_grant_map_identity"

 docs/misc/xen-command-line.markdown |    4 +-
 xen/arch/arm/domain.c               |    2 +-
 xen/arch/arm/mm.c                   |    2 +-
 xen/arch/x86/mm.c                   |    2 +-
 xen/common/compat/grant_table.c     |   16 ++-
 xen/common/grant_table.c            |  237 +++++++++++++++++++++++++++--------
 xen/common/kernel.c                 |    2 -
 xen/drivers/passthrough/arm/smmu.c  |   33 +++++
 xen/include/asm-arm/arm32/page.h    |    3 +
 xen/include/asm-arm/arm64/page.h    |    3 +
 xen/include/asm-arm/grant_table.h   |    5 +-
 xen/include/asm-arm/page.h          |   30 +++++
 xen/include/asm-x86/page.h          |    4 +
 xen/include/public/features.h       |    4 +-
 xen/include/public/grant_table.h    |   20 +++
 xen/include/xen/grant_table.h       |    6 +-
 xen/include/xlat.lst                |    1 +
 17 files changed, 305 insertions(+), 69 deletions(-)

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2014-10-10  9:45 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-08 12:58 [PATCH v3 0/5] xen/arm: introduce GNTTABOP_cache_flush Stefano Stabellini
2014-10-08 13:00 ` [PATCH v3 1/5] xen: introduce two different max_nr_dom0/domU_grant_frames parameters Stefano Stabellini
2014-10-08 15:15   ` David Vrabel
2014-10-08 16:01     ` Stefano Stabellini
2014-10-08 16:42       ` David Vrabel
2014-10-08 16:59         ` Stefano Stabellini
2014-10-09  9:35           ` David Vrabel
2014-10-10  7:35         ` Jan Beulich
2014-10-10  9:19           ` David Vrabel
2014-10-10  7:37   ` Jan Beulich
2014-10-08 13:00 ` [PATCH v3 2/5] xen/arm: introduce invalidate_xen_dcache_va_range Stefano Stabellini
2014-10-08 13:00 ` [PATCH v3 3/5] xen/x86: introduce more cache maintenance operations Stefano Stabellini
2014-10-10  7:40   ` Jan Beulich
2014-10-10  9:23     ` Stefano Stabellini
2014-10-10  9:45       ` Jan Beulich
2014-10-08 13:00 ` [PATCH v3 4/5] xen/arm: introduce GNTTABOP_cache_flush Stefano Stabellini
2014-10-08 15:02   ` Andrew Cooper
2014-10-10  7:56   ` Jan Beulich
2014-10-08 13:00 ` [PATCH v3 5/5] Revert "xen/arm: introduce XENFEAT_grant_map_identity" Stefano Stabellini
2014-10-08 14:06   ` Julien Grall
2014-10-09 10:36     ` Stefano Stabellini
2014-10-08 15:42 ` [PATCH v3 0/5] xen/arm: introduce GNTTABOP_cache_flush David Vrabel
2014-10-09 10:22   ` Stefano Stabellini

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.