All of lore.kernel.org
 help / color / mirror / Atom feed
From: <hongyax@amazon.com>
To: <xen-devel@lists.xenproject.org>
Cc: "Stefano Stabellini" <sstabellini@kernel.org>,
	"Wei Liu" <wl@xen.org>, "Hongyan Xia" <hongyax@amazon.com>,
	"George Dunlap" <George.Dunlap@eu.citrix.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"Konrad Rzeszutek Wilk" <konrad.wilk@oracle.com>,
	"Ian Jackson" <ian.jackson@eu.citrix.com>,
	"Tim Deegan" <tim@xen.org>, "Julien Grall" <julien.grall@arm.com>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Dario Faggioli" <dfaggioli@suse.com>,
	"Volodymyr Babchuk" <Volodymyr_Babchuk@epam.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: [Xen-devel] [RFC PATCH 00/84] Remove direct map from Xen
Date: Thu, 26 Sep 2019 10:45:23 +0100	[thread overview]
Message-ID: <cover.1569489002.git.hongyax@amazon.com> (raw)

From: Hongyan Xia <hongyax@amazon.com>

Previously, Wei Liu has created the patch series to switch to
alloc/map/unmap/free APIs for Xen page tables so that Xen page tables
are mapped with map_domain_page(). This is the first step towards
removing the direct map. I implemented patches on top of Wei's to remove
the direct map completely.

In addition to Wei's, my patches:
- (Wei) implement a proper PMAP infrastructure for bootstrapping
- remove direct map code in map_domain_page() and use mapcache, use PMAP
 when mapcache not ready
- map/unmap xenheap allocations to the direct map region so that va<->pa
 macros still work
- install dummy mappings (no permissions, INVALID_MFN) instead of actual
 1:1 mappings during boot, so the direct map no longer exists
- fix many places where code incorrectly assumes a direct map

I have moderately tested the patches. I am able to boot into dom0,
create/destroy PV/HVM guests and run XTF tests. Personally, I find it
difficult to discover all places where it incorrectly assumes a direct
map, so reviews and further testing are more than welcome.

Hongyan Xia (24):
  x86/mm: fix leaks in map_xen_pagetable.
  x86/pmap: break the loop in pmap APIs.
  x86/domain_page: use PMAP when d/vcache is not ready.
  x86/domain_page: mapcache is no longer tied to pv.
  mapcache: initialise the mapcache even for the idle domain.
  x86: fix some wrong assumptions on direct map. Increase PMAP slots to
    8.
  x86/domain_page: remove direct map code and initialise idle mapcache.
  page_alloc: actually do the mapping and unmapping on xenheap.
  page_alloc: comments on (un)mapping pages in xenheap allocations.
  x86/smpboot: use xenheap pages for rpts in smpboot.
  x86/setup: start tearing down the direct map.
  acpi: don't assume an always-mapped direct map in acpi allocations.
  x86/mm: Move vmap_to_mfn() to mm.c and rename to virt_to_mfn_walk().
  x86/pv: refactor how building dom0 in PV handles domheap mappings.
  x86/mm: handle PSE early termination cases in virt_to_mfn_walk().
  x86/setup: also clear the permission bits in the dummy 1:1 mapping.
  x86: properly (un)map pages in restore_all_guests.
  Revert "x86/smpboot: use xenheap pages for rpts in smpboot."
  Don't assume bootmem_region_list is mapped. Also fix a double unmap
    bug.
  x86/setup: Install dummy 1:1 mappings for all mem passed to
    allocators.
  x86/mm: optimise and properly unmap pages in virt_to_mfn_walk().
  x86: deduplicate code a bit and fix an unmapping bug.
  x86/pmap: rewrite logic for locking.
  x86/pv: fix a couple of direct map assumptions in dom0 building.

Wei Liu (60):
  x86/mm: defer clearing page in virt_to_xen_lXe
  x86: move some xen mm function declarations
  x86: introduce a new set of APIs to manage Xen page tables
  x86/mm: introduce l{1,2}t local variables to map_pages_to_xen
  x86/mm: introduce l{1,2}t local variables to modify_xen_mappings
  x86/mm: map_pages_to_xen should have one exit path
  x86/mm: add an end_of_loop label in map_pages_to_xen
  x86/mm: make sure there is one exit path for modify_xen_mappings
  x86/mm: add an end_of_loop label in modify_xen_mappings
  x86/mm: change pl2e to l2t in virt_to_xen_l2e
  x86/mm: change pl1e to l1t in virt_to_xen_l1e
  x86/mm: change pl3e to l3t in virt_to_xen_l3e
  x86/mm: rewrite virt_to_xen_l3e
  x86/mm: rewrite xen_to_virt_l2e
  x86/mm: rewrite virt_to_xen_l1e
  x86/mm: switch to new APIs in map_pages_to_xen
  xxx fixup: avoid shadowing mfn
  x86/mm: drop lXe_to_lYe invocations in map_pages_to_xen
  x86/mm: switch to new APIs in modify_xen_mappings
  x86/mm: drop lXe_to_lYe invocations from modify_xen_mappings
  x86/mm: switch to new APIs in arch_init_memory
  x86_64/mm: introduce pl2e in paging_init
  x86_64/mm: switch to new APIs in paging_init
  x86_64/mm: drop l4e_to_l3e invocation from paging_init
  x86_64/mm.c: remove code that serves no purpose in setup_m2p_table
  x86_64/mm: introduce pl2e in setup_m2p_table
  x86_64/mm: switch to new APIs in setup_m2p_table
  x86_64/mm: drop lXe_to_lYe invocations from setup_m2p_table
  efi: use new page table APIs in copy_mapping
  efi: avoid using global variable in copy_mapping
  efi: use new page table APIs in efi_init_memory
  efi: add emacs block to boot.c
  efi: switch EFI L4 table to use new APIs
  x86/smpboot: add emacs block
  x86/smpboot: clone_mapping should have one exit path
  x86/smpboot: switch pl3e to use new APIs in clone_mapping
  x86/smpboot: switch pl2e to use new APIs in clone_mapping
  x86/smpboot: switch pl1e to use new APIs in clone_mapping
  x86/smpboot: drop lXe_to_lYe invocations from cleanup_cpu_root_pgt
  x86: switch root_pgt to mfn_t and use new APIs
  x86/shim: map and unmap page tables in replace_va_mapping
  x86_64/mm: map and unmap page tables in m2p_mapped
  x86_64/mm: map and unmap page tables in share_hotadd_m2p_table
  x86_64/mm: map and unmap page tables in destroy_compat_m2p_mapping
  x86_64/mm: map and unmap page tables in destroy_m2p_mapping
  x86_64/mm: map and unmap page tables in setup_compat_m2p_table
  x86_64/mm: map and unmap page tables in cleanup_frame_table
  x86_64/mm: map and unmap page tables in subarch_init_memory
  x86_64/mm: map and unmap page tables in subarch_memory_op
  x86/smpboot: remove lXe_to_lYe in cleanup_cpu_root_pgt
  x86/pv: properly map and unmap page tables in mark_pv_pt_pages_rdonly
  x86/pv: properly map and unmap page table in dom0_construct_pv
  x86: remove lXe_to_lYe in __start_xen
  x86/mm: drop old page table APIs
  x86: switch to use domheap page for page tables
  x86/mm: drop _new suffix for page table APIs
  x86: add Persistent Map (PMAP) infrastructure
  x86: lift domain mapcache to arch_domain
  x86: lift vcpu mapcache to arch_vcpu
  x86/pv: domheap pages should be mapped while relocating initrd

 xen/arch/x86/Makefile           |   1 +
 xen/arch/x86/domain.c           |  19 +-
 xen/arch/x86/domain_page.c      |  71 ++---
 xen/arch/x86/efi/runtime.h      |  12 +-
 xen/arch/x86/mm.c               | 549 ++++++++++++++++++++++++--------
 xen/arch/x86/pmap.c             | 121 +++++++
 xen/arch/x86/pv/dom0_build.c    | 107 +++++--
 xen/arch/x86/pv/domain.c        |   2 +-
 xen/arch/x86/pv/shim.c          |  20 +-
 xen/arch/x86/setup.c            |  28 +-
 xen/arch/x86/smpboot.c          | 171 +++++++---
 xen/arch/x86/x86_64/entry.S     |  32 +-
 xen/arch/x86/x86_64/mm.c        | 268 +++++++++++-----
 xen/common/efi/boot.c           |  84 +++--
 xen/common/efi/efi.h            |   3 +-
 xen/common/efi/runtime.c        |   8 +-
 xen/common/page_alloc.c         |  37 ++-
 xen/common/schedule.c           |   1 +
 xen/common/vmap.c               |   2 +-
 xen/drivers/acpi/osl.c          |  41 ++-
 xen/include/asm-arm/mm.h        |   2 -
 xen/include/asm-x86/domain.h    |  12 +-
 xen/include/asm-x86/fixmap.h    |   3 +
 xen/include/asm-x86/mm.h        |  20 ++
 xen/include/asm-x86/page.h      |  12 -
 xen/include/asm-x86/pmap.h      |  10 +
 xen/include/asm-x86/processor.h |   2 -
 27 files changed, 1211 insertions(+), 427 deletions(-)
 create mode 100644 xen/arch/x86/pmap.c
 create mode 100644 xen/include/asm-x86/pmap.h

-- 
2.17.1


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

             reply	other threads:[~2019-09-26  9:50 UTC|newest]

Thread overview: 131+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-09-26  9:45 hongyax [this message]
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 01/84] x86/mm: defer clearing page in virt_to_xen_lXe hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 02/84] x86: move some xen mm function declarations hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 03/84] x86: introduce a new set of APIs to manage Xen page tables hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 04/84] x86/mm: introduce l{1, 2}t local variables to map_pages_to_xen hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 05/84] x86/mm: introduce l{1, 2}t local variables to modify_xen_mappings hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 06/84] x86/mm: map_pages_to_xen should have one exit path hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 07/84] x86/mm: add an end_of_loop label in map_pages_to_xen hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 08/84] x86/mm: make sure there is one exit path for modify_xen_mappings hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 09/84] x86/mm: add an end_of_loop label in modify_xen_mappings hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 10/84] x86/mm: change pl2e to l2t in virt_to_xen_l2e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 11/84] x86/mm: change pl1e to l1t in virt_to_xen_l1e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 12/84] x86/mm: change pl3e to l3t in virt_to_xen_l3e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 13/84] x86/mm: rewrite virt_to_xen_l3e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 14/84] x86/mm: rewrite xen_to_virt_l2e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 15/84] x86/mm: rewrite virt_to_xen_l1e hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 16/84] x86/mm: switch to new APIs in map_pages_to_xen hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 17/84] xxx fixup: avoid shadowing mfn hongyax
2019-09-26 13:05   ` Wei Liu
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 18/84] x86/mm: drop lXe_to_lYe invocations in map_pages_to_xen hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 19/84] x86/mm: switch to new APIs in modify_xen_mappings hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 20/84] x86/mm: drop lXe_to_lYe invocations from modify_xen_mappings hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 21/84] x86/mm: switch to new APIs in arch_init_memory hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 22/84] x86_64/mm: introduce pl2e in paging_init hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 23/84] x86_64/mm: switch to new APIs " hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 24/84] x86_64/mm: drop l4e_to_l3e invocation from paging_init hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 25/84] x86_64/mm.c: remove code that serves no purpose in setup_m2p_table hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 26/84] x86_64/mm: introduce pl2e " hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 27/84] x86_64/mm: switch to new APIs " hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 28/84] x86_64/mm: drop lXe_to_lYe invocations from setup_m2p_table hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 29/84] efi: use new page table APIs in copy_mapping hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 30/84] efi: avoid using global variable " hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 31/84] efi: use new page table APIs in efi_init_memory hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 32/84] efi: add emacs block to boot.c hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 33/84] efi: switch EFI L4 table to use new APIs hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 34/84] x86/smpboot: add emacs block hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 35/84] x86/smpboot: clone_mapping should have one exit path hongyax
2019-09-26  9:45 ` [Xen-devel] [RFC PATCH 36/84] x86/smpboot: switch pl3e to use new APIs in clone_mapping hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 37/84] x86/smpboot: switch pl2e " hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 38/84] x86/smpboot: switch pl1e " hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 39/84] x86/smpboot: drop lXe_to_lYe invocations from cleanup_cpu_root_pgt hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 40/84] x86: switch root_pgt to mfn_t and use new APIs hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 41/84] x86/shim: map and unmap page tables in replace_va_mapping hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 42/84] x86_64/mm: map and unmap page tables in m2p_mapped hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 43/84] x86_64/mm: map and unmap page tables in share_hotadd_m2p_table hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 44/84] x86_64/mm: map and unmap page tables in destroy_compat_m2p_mapping hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 45/84] x86_64/mm: map and unmap page tables in destroy_m2p_mapping hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 46/84] x86_64/mm: map and unmap page tables in setup_compat_m2p_table hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 47/84] x86_64/mm: map and unmap page tables in cleanup_frame_table hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 48/84] x86_64/mm: map and unmap page tables in subarch_init_memory hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 49/84] x86_64/mm: map and unmap page tables in subarch_memory_op hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 50/84] x86/smpboot: remove lXe_to_lYe in cleanup_cpu_root_pgt hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 51/84] x86/pv: properly map and unmap page tables in mark_pv_pt_pages_rdonly hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 52/84] x86/pv: properly map and unmap page table in dom0_construct_pv hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 53/84] x86: remove lXe_to_lYe in __start_xen hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 54/84] x86/mm: drop old page table APIs hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 55/84] x86: switch to use domheap page for page tables hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 56/84] x86/mm: drop _new suffix for page table APIs hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 57/84] x86: add Persistent Map (PMAP) infrastructure hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 58/84] x86/mm: fix leaks in map_xen_pagetable hongyax
2019-09-26 10:23   ` Julien Grall
2019-09-26 10:45     ` hongyax
2019-09-26 12:05       ` Julien Grall
2019-09-26 13:16   ` Wei Liu
2019-09-27 13:12     ` hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 59/84] x86/pmap: break the loop in pmap APIs hongyax
2019-09-26 13:21   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 60/84] x86/domain_page: use PMAP when d/vcache is not ready hongyax
2019-09-26 13:30   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 61/84] x86: lift domain mapcache to arch_domain hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 62/84] x86: lift vcpu mapcache to arch_vcpu hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 63/84] x86/domain_page: mapcache is no longer tied to pv hongyax
2019-09-26 13:59   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 64/84] mapcache: initialise the mapcache even for the idle domain hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 65/84] x86: fix some wrong assumptions on direct map. Increase PMAP slots to 8 hongyax
2019-09-26 14:08   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 66/84] x86/pv: domheap pages should be mapped while relocating initrd hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 67/84] x86/domain_page: remove direct map code and initialise idle mapcache hongyax
2019-09-26 14:14   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 68/84] page_alloc: actually do the mapping and unmapping on xenheap hongyax
2019-09-26 10:39   ` Julien Grall
2019-09-26 10:45     ` Julien Grall
2019-09-26 10:52       ` hongyax
2019-09-26 11:18     ` hongyax
2019-09-26 12:24       ` Julien Grall
2019-09-26 13:03         ` hongyax
2019-09-26 13:22           ` Jan Beulich
2019-09-26 14:01           ` Julien Grall
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 69/84] page_alloc: comments on (un)mapping pages in xenheap allocations hongyax
2019-09-26 10:42   ` Julien Grall
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 70/84] x86/smpboot: use xenheap pages for rpts in smpboot hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 71/84] x86/setup: start tearing down the direct map hongyax
2019-09-26 10:50   ` Julien Grall
2019-09-26 14:26   ` Wei Liu
2019-09-27 12:54     ` hongyax
2019-09-27 13:00       ` Jan Beulich
2019-09-27 14:02         ` hongyax
2019-09-27 14:14           ` Jan Beulich
2019-09-27 14:49             ` hongyax
2019-09-27 15:01             ` hongyax
2019-09-27 13:01       ` Julien Grall
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 72/84] acpi: don't assume an always-mapped direct map in acpi allocations hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 73/84] x86/mm: Move vmap_to_mfn() to mm.c and rename to virt_to_mfn_walk() hongyax
2019-09-26 10:59   ` Julien Grall
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 74/84] x86/pv: refactor how building dom0 in PV handles domheap mappings hongyax
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 75/84] x86/mm: handle PSE early termination cases in virt_to_mfn_walk() hongyax
2019-09-26 14:39   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 76/84] x86/setup: also clear the permission bits in the dummy 1:1 mapping hongyax
2019-09-26 14:42   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 77/84] x86: properly (un)map pages in restore_all_guests hongyax
2019-09-26 14:52   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 78/84] Revert "x86/smpboot: use xenheap pages for rpts in smpboot." hongyax
2019-09-26 14:54   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 79/84] Don't assume bootmem_region_list is mapped. Also fix a double unmap bug hongyax
2019-09-26 11:21   ` Julien Grall
2019-09-26 12:36     ` hongyax
2019-09-26 12:51       ` Julien Grall
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 80/84] x86/setup: Install dummy 1:1 mappings for all mem passed to allocators hongyax
2019-09-26 15:47   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 81/84] x86/mm: optimise and properly unmap pages in virt_to_mfn_walk() hongyax
2019-09-26 15:46   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 82/84] x86: deduplicate code a bit and fix an unmapping bug hongyax
2019-09-26 15:48   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 83/84] x86/pmap: rewrite logic for locking hongyax
2019-09-26 15:50   ` Wei Liu
2019-09-26  9:46 ` [Xen-devel] [RFC PATCH 84/84] x86/pv: fix a couple of direct map assumptions in dom0 building hongyax
2019-09-26 15:51   ` Wei Liu
2019-09-26 10:21 ` [Xen-devel] [RFC PATCH 00/84] Remove direct map from Xen Julien Grall
2019-09-26 10:33   ` hongyax
2019-09-26 12:02     ` Julien Grall
2019-09-26 16:06       ` hongyax

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=cover.1569489002.git.hongyax@amazon.com \
    --to=hongyax@amazon.com \
    --cc=George.Dunlap@eu.citrix.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=dfaggioli@suse.com \
    --cc=ian.jackson@eu.citrix.com \
    --cc=jbeulich@suse.com \
    --cc=julien.grall@arm.com \
    --cc=konrad.wilk@oracle.com \
    --cc=roger.pau@citrix.com \
    --cc=sstabellini@kernel.org \
    --cc=tim@xen.org \
    --cc=wl@xen.org \
    --cc=xen-devel@lists.xenproject.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.