xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/22] xen/arm: P2M clean-up and fixes
@ 2016-07-20 16:10 Julien Grall
  2016-07-20 16:10 ` [PATCH 01/22] xen/arm: system: Use the correct parameter name in local_irq_restore Julien Grall
                   ` (22 more replies)
  0 siblings, 23 replies; 80+ messages in thread
From: Julien Grall @ 2016-07-20 16:10 UTC (permalink / raw)
  To: xen-devel; +Cc: proskurin, Julien Grall, sstabellini, wei.chen, steve.capper

Hello all,

This patch series contains a bunch of clean-up and fixes for the P2M code on
ARM. The major changes are:
    - Restrict usage of get_page_from_gva to the current vCPU
    - Deduce the memory attributes from the p2m type
    - Switch to read-write lock to improve performance
    - Simplify the TLB flush for a given domain

I have provided a branch will all the patches applied on my repo:
git://xenbits/xenbits.xen.org/people/julieng/xen-unstable.git p2m-cleanup-v1

Yours sincerely,

Julien Grall (22):
  xen/arm: system: Use the correct parameter name in local_irq_restore
  xen/arm: p2m: Pass the vCPU in parameter to get_page_from_gva
  xen/arm: p2m: Restrict usage of get_page_from_gva to the current vCPU
  xen/arm: p2m: Fix multi-lines coding style comments
  xen/arm: p2m: Clean-up mfn_to_p2m_entry
  xen/arm: p2m: Use the typesafe MFN in mfn_to_p2m_entry
  xen/arm: p2m: Use p2m_is_foreign in get_page_from_gfn to avoid open
    coding
  xen/arm: p2m: Simplify p2m type check by using bitmask
  xen/arm: p2m: Use a whitelist rather than blacklist in
    get_page_from_gfn
  xen/arm: p2m: Differentiate cacheable vs non-cacheable MMIO
  xen/arm: p2m: Find the memory attributes based on the p2m type
  xen/arm: p2m: Remove unnecessary locking
  xen/arm: p2m: Introduce p2m_{read,write}_{,un}lock helpers
  xen/arm: p2m: Switch the p2m lock from spinlock to rwlock
  xen/arm: Don't call p2m_alloc_table from arch_domain_create
  xen/arm: p2m: Move the vttbr field from arch_domain to p2m_domain
  xen/arm: p2m: Don't need to restore the state for an idle vCPU.
  xen/arm: p2m: Rework the context switch to another VTTBR in
    flush_tlb_domain
  xen/arm: p2m: Inline p2m_load_VTTBR into p2m_restore_state
  xen/arm: Don't export flush_tlb_domain
  xen/arm: p2m: Replace flush_tlb_domain by p2m_flush_tlb
  xen/arm: p2m: Pass the p2m in parameter rather the domain when it is
    possible

 xen/arch/arm/domain.c              |   3 -
 xen/arch/arm/guestcopy.c           |   6 +-
 xen/arch/arm/p2m.c                 | 255 +++++++++++++++++++------------------
 xen/arch/arm/traps.c               |   4 +-
 xen/include/asm-arm/arm32/system.h |   2 +-
 xen/include/asm-arm/arm64/system.h |   2 +-
 xen/include/asm-arm/domain.h       |   1 -
 xen/include/asm-arm/flushtlb.h     |   3 -
 xen/include/asm-arm/mm.h           |   2 +-
 xen/include/asm-arm/p2m.h          |  85 +++++++++----
 10 files changed, 194 insertions(+), 169 deletions(-)

-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

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

end of thread, other threads:[~2016-07-27 20:15 UTC | newest]

Thread overview: 80+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-20 16:10 [PATCH 00/22] xen/arm: P2M clean-up and fixes Julien Grall
2016-07-20 16:10 ` [PATCH 01/22] xen/arm: system: Use the correct parameter name in local_irq_restore Julien Grall
2016-07-22  1:19   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 02/22] xen/arm: p2m: Pass the vCPU in parameter to get_page_from_gva Julien Grall
2016-07-22  1:22   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 03/22] xen/arm: p2m: Restrict usage of get_page_from_gva to the current vCPU Julien Grall
2016-07-22  1:25   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 04/22] xen/arm: p2m: Fix multi-lines coding style comments Julien Grall
2016-07-22  1:26   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 05/22] xen/arm: p2m: Clean-up mfn_to_p2m_entry Julien Grall
2016-07-26 22:24   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 06/22] xen/arm: p2m: Use the typesafe MFN in mfn_to_p2m_entry Julien Grall
2016-07-26 22:28   ` Stefano Stabellini
2016-07-27  9:54     ` Julien Grall
2016-07-27 18:25       ` Stefano Stabellini
2016-07-27 20:14         ` Julien Grall
2016-07-20 16:10 ` [PATCH 07/22] xen/arm: p2m: Use p2m_is_foreign in get_page_from_gfn to avoid open coding Julien Grall
2016-07-26 22:33   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 08/22] xen/arm: p2m: Simplify p2m type check by using bitmask Julien Grall
2016-07-26 22:36   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 09/22] xen/arm: p2m: Use a whitelist rather than blacklist in get_page_from_gfn Julien Grall
2016-07-26 22:44   ` Stefano Stabellini
2016-07-27  9:59     ` Julien Grall
2016-07-27 17:56       ` Stefano Stabellini
2016-07-27 17:57         ` Julien Grall
2016-07-20 16:10 ` [PATCH 10/22] xen/arm: p2m: Differentiate cacheable vs non-cacheable MMIO Julien Grall
2016-07-26 22:47   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 11/22] xen/arm: p2m: Find the memory attributes based on the p2m type Julien Grall
2016-07-27  0:41   ` Stefano Stabellini
2016-07-27 17:15   ` Julien Grall
2016-07-27 17:55     ` Stefano Stabellini
2016-07-27 20:15       ` Julien Grall
2016-07-20 16:10 ` [PATCH 12/22] xen/arm: p2m: Remove unnecessary locking Julien Grall
2016-07-27  0:47   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 13/22] xen/arm: p2m: Introduce p2m_{read, write}_{, un}lock helpers Julien Grall
2016-07-27  0:50   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 14/22] xen/arm: p2m: Switch the p2m lock from spinlock to rwlock Julien Grall
2016-07-27  0:51   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 15/22] xen/arm: Don't call p2m_alloc_table from arch_domain_create Julien Grall
2016-07-22  8:32   ` Sergej Proskurin
2016-07-22  9:18     ` Julien Grall
2016-07-22 10:16       ` Sergej Proskurin
2016-07-22 10:26         ` Julien Grall
2016-07-22 10:39           ` Sergej Proskurin
2016-07-22 10:38             ` Julien Grall
2016-07-22 11:05               ` Sergej Proskurin
2016-07-22 13:00                 ` Julien Grall
2016-07-23 17:59                   ` Sergej Proskurin
2016-07-27  0:54   ` Stefano Stabellini
2016-07-20 16:10 ` [PATCH 16/22] xen/arm: p2m: Move the vttbr field from arch_domain to p2m_domain Julien Grall
2016-07-22  7:46   ` Sergej Proskurin
2016-07-22  9:23     ` Julien Grall
2016-07-27  0:57   ` Stefano Stabellini
2016-07-27 10:00     ` Julien Grall
2016-07-27 17:19   ` Julien Grall
2016-07-20 16:10 ` [PATCH 17/22] xen/arm: p2m: Don't need to restore the state for an idle vCPU Julien Grall
2016-07-22  7:37   ` Sergej Proskurin
2016-07-27  1:05   ` Stefano Stabellini
2016-07-20 16:11 ` [PATCH 18/22] xen/arm: p2m: Rework the context switch to another VTTBR in flush_tlb_domain Julien Grall
2016-07-22  7:51   ` Sergej Proskurin
2016-07-27  1:12   ` Stefano Stabellini
2016-07-27 10:22     ` Julien Grall
2016-07-20 16:11 ` [PATCH 19/22] xen/arm: p2m: Inline p2m_load_VTTBR into p2m_restore_state Julien Grall
2016-07-22  8:07   ` Sergej Proskurin
2016-07-22  9:29     ` Julien Grall
2016-07-27  1:13   ` Stefano Stabellini
2016-07-20 16:11 ` [PATCH 20/22] xen/arm: Don't export flush_tlb_domain Julien Grall
2016-07-22  8:54   ` Sergej Proskurin
2016-07-22  9:30     ` Julien Grall
2016-07-22 10:25       ` Sergej Proskurin
2016-07-22 10:34         ` Julien Grall
2016-07-22 10:46           ` Sergej Proskurin
2016-07-22 10:57             ` Julien Grall
2016-07-22 11:22               ` Sergej Proskurin
2016-07-27  1:14   ` Stefano Stabellini
2016-07-20 16:11 ` [PATCH 21/22] xen/arm: p2m: Replace flush_tlb_domain by p2m_flush_tlb Julien Grall
2016-07-27  1:15   ` Stefano Stabellini
2016-07-20 16:11 ` [PATCH 22/22] xen/arm: p2m: Pass the p2m in parameter rather the domain when it is possible Julien Grall
2016-07-27  1:15   ` Stefano Stabellini
2016-07-22  1:31 ` [PATCH 00/22] xen/arm: P2M clean-up and fixes Stefano Stabellini

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).