mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Graf (AWS), Alexander" <graf@amazon.de>
To: Pasha Tatashin <pasha.tatashin@soleen.com>,
	"linux-kselftest@vger.kernel.org"
	<linux-kselftest@vger.kernel.org>,
	"legion@kernel.org" <legion@kernel.org>,
	"kees@kernel.org" <kees@kernel.org>,
	"will@kernel.org" <will@kernel.org>,
	"ruanjinjie@huawei.com" <ruanjinjie@huawei.com>,
	"atomlin@atomlin.com" <atomlin@atomlin.com>,
	"rppt@kernel.org" <rppt@kernel.org>,
	"jani.nikula@intel.com" <jani.nikula@intel.com>,
	"hamzamahfooz@linux.microsoft.com"
	<hamzamahfooz@linux.microsoft.com>,
	"joey.gouly@arm.com" <joey.gouly@arm.com>,
	"tglx@kernel.org" <tglx@kernel.org>,
	"nsc@kernel.org" <nsc@kernel.org>,
	"alexandre.chartre@oracle.com" <alexandre.chartre@oracle.com>,
	"james.morse@arm.com" <james.morse@arm.com>,
	"dianders@chromium.org" <dianders@chromium.org>,
	"bp@alien8.de" <bp@alien8.de>,
	"jpoimboe@kernel.org" <jpoimboe@kernel.org>,
	"shuah@kernel.org" <shuah@kernel.org>,
	"catalin.marinas@arm.com" <catalin.marinas@arm.com>,
	"linux-kbuild@vger.kernel.org" <linux-kbuild@vger.kernel.org>,
	"linux-arch@vger.kernel.org" <linux-arch@vger.kernel.org>,
	"kvmarm@lists.linux.dev" <kvmarm@lists.linux.dev>,
	"jaredwhite@microsoft.com" <jaredwhite@microsoft.com>,
	"johan@kernel.org" <johan@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"seanjc@google.com" <seanjc@google.com>,
	"mark.rutland@arm.com" <mark.rutland@arm.com>,
	"vdonnefort@google.com" <vdonnefort@google.com>,
	"tarunsahu@google.com" <tarunsahu@google.com>,
	"gshan@redhat.com" <gshan@redhat.com>,
	"skhan@linuxfoundation.org" <skhan@linuxfoundation.org>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"xur@google.com" <xur@google.com>,
	"djbw@kernel.org" <djbw@kernel.org>,
	"oupton@kernel.org" <oupton@kernel.org>,
	"nogikh@google.com" <nogikh@google.com>,
	"sumitg@nvidia.com" <sumitg@nvidia.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"zengheng4@huawei.com" <zengheng4@huawei.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"corbet@lwn.net" <corbet@lwn.net>,
	"suzuki.poulose@arm.com" <suzuki.poulose@arm.com>,
	"luto@kernel.org" <luto@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"zhangpengjie2@huawei.com" <zhangpengjie2@huawei.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"yuzenghui@huawei.com" <yuzenghui@huawei.com>,
	"jic23@kernel.org" <jic23@kernel.org>,
	"ardb@kernel.org" <ardb@kernel.org>,
	"petr.pavlu@suse.com" <petr.pavlu@suse.com>,
	"ryan.roberts@arm.com" <ryan.roberts@arm.com>,
	"kexec@lists.infradead.org" <kexec@lists.infradead.org>,
	"pratyush@kernel.org" <pratyush@kernel.org>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"rdunlap@infradead.org" <rdunlap@infradead.org>,
	"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
	"fuad.tabba@linux.dev" <fuad.tabba@linux.dev>,
	"maz@kernel.org" <maz@kernel.org>,
	"mbenes@suse.cz" <mbenes@suse.cz>,
	"jgross@suse.com" <jgross@suse.com>,
	"seiden@linux.ibm.com" <seiden@linux.ibm.com>,
	"pierre.gondois@arm.com" <pierre.gondois@arm.com>,
	"song@kernel.org" <song@kernel.org>,
	"nathan@kernel.org" <nathan@kernel.org>,
	"pmladek@suse.com" <pmladek@suse.com>,
	"chao.gao@intel.com" <chao.gao@intel.com>,
	"zhenglifeng1@huawei.com" <zhenglifeng1@huawei.com>,
	"arnd@arndb.de" <arnd@arndb.de>,
	"sidnayyar@google.com" <sidnayyar@google.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"vladimir.murzin@arm.com" <vladimir.murzin@arm.com>,
	"kas@kernel.org" <kas@kernel.org>
Subject: Re: [RFC PATCH 00/46] Orphaned Virtual Machines
Date: Mon, 21 Sep 2026 07:42:13 +0000	[thread overview]
Message-ID: <f0dca19e-a154-4597-99e8-7d03eb511d25@amazon.com> (raw)
In-Reply-To: <20260920193650.3373435-1-pasha.tatashin@soleen.com>


On 20.09.26 21:36, Pasha Tatashin wrote:
> This RFC series is a PoC intended to showcase e2e working OrphanVMs
> uninterrupted continuing execution on preserved physical CPUs across a
> host kernel live update, prepared for the LPC'26 presentation at the
> KVM Microconf [1].
>
> The original design proposal discussion can be found at [2].
>
> This series is applied on top of v7.3-rc1 + the "[PATCH v4 00/11]
> liveupdate: kvm: Guest_memfd preservation" series [3]. The whole branch
> can be accessed at [4].
>
> It was tested on Intel Xeon Granite Rapids-AP, AMD EPYC Turin, and ARM
> Neoverse V2, as well as in emulation on QEMU and Intel Simics. However,
> it is still very early WIP, and is not anywhere near being production
> ready.
>
> Overview & Submission Strategy
> ==============================
> While this RFC bundles the e2e stack, it is NOT intended to be merged as
> a single series, the goal of this series is to have a discussion about
> the technical layers, and the challenges that need to be solved in order
> to have full Caretaker support within the kernel.
>
> Some of the arch/* changes duplicate small helpers (such as GICv3 list
> register accessors or low-level VMCS/VMCB/sysreg helpers) that could be
> shared with existing KVM/arch code if those routines and their callees
> are moved to static inlines or annotated with __cpu_preserved_text (and
> built without ftrace/KASAN/per-CPU references, as enforced by objtool
> and modpost). To avoid sprinkling __cpu_preserved_text annotations
> across core arch/* files in this PoC, those helpers are kept local to
> caretaker.c for now and can be consolidated when individual platform
> support is upstreamed.
>
> The series is structured into at least 8 workstreams that will be
> discussed and worked on separately:
>
> 1. Workstream 1: Preparation Patches (Patches 01-06)
>     Architecture-neutral and arch-specific preparatory cleanups (in
>     future these could be bundled with the workstreams that require these
>     changes):
>       01. KVM: luo: Delegate VM creation type to kvm_arch_vm_luo_preserve
>       02. KVM: arm64: Split demux_c15_{get,set}_val from userspace
>           accessors
>       03. KVM: arm64: Split kvm_sys_reg_{get,set}_user from kernel
>           accessors
>       04. x86/mm/ident_map: Add force_pte to support 4K PTE identity
>           mappings
>       05. arm64: mm: Add trans_pgd_map_range() support
>       06. x86/smp: Skip offline CPUs for REBOOT_VECTOR in
>           native_stop_other_cpus()
>
> 2. Workstream 2: In-Kernel In-RAM vCPU State Preservation via LUO
>     (Patches 07-10)
>     Allows performing suspend/resume-type preservation across kexec
>     without carrying the vCPU internal state in the VMM in userspace,
>     keeping all vCPU state in-kernel:
>       07. KVM: luo: Support vCPU file preservation across live updates
>       08. KVM: x86: Add x86 vCPU LUO preservation ABI and register
>           helpers
>       09. KVM: x86: Implement architectural vCPU state preservation via
>           LUO
>       10. KVM: arm64: Implement architectural vCPU state preservation via
>           LUO
>
> 3. Workstream 3: Physical CPU Preservation Core & x86 Support
>     (Patches 11-24)
>     Introduces the physical CPU preservation subsystem (cpu_preserve),
>     linker sections (.text.cpu_preserved, .data.cpu_preserved) with
>     build-time section isolation checks in modpost and objtool, isolated
>     transition page table management (struct cpu_preserved_as), and sysfs
>     interfaces. Allows booting the machine with some CPUs removed from
>     the OS scheduler, and provides infrastructure for executing orphaned
>     jobs on such CPUs:
>       11. liveupdate: Define CPU preservation linker sections
>       12. liveupdate: Add liveupdate_session_name() helper
>       13. cpu_preserve: Add physical CPU preservation ABI and core API
>           headers
>       14. cpu_preserve: Add core physical CPU preservation state and park
>           loop
>       15. cpu_preserve: Add physical CPU preservation lifecycle and build
>           rules
>       16. liveupdate: cpu_preserve: Add sysfs interface
>       17. liveupdate: cpu_preserve: Add isolated address space management
>           API
>       18. liveupdate: cpu_preserve: Add LUO file handler for preserved
>           physical CPUs
>       19. x86: liveupdate: Add low-level physical CPU preservation
>           assembly
>       20. x86: liveupdate: Add physical CPU preservation context and page
>           table support
>       21. selftests: liveupdate: Add physical CPU preservation unit tests
>       22. selftests: liveupdate: Add physical CPU preservation live
>           update tests
>       23. Documentation: liveupdate: Add physical CPU preservation
>           documentation
>       24. MAINTAINERS: Add entry for KVM Caretaker
>
> 4. Workstream 4: ARM64 Support for Physical CPU Preservation (Patch 25)
>     Enables physical CPU preservation on ARM64 using isolated transition
>     page tables (trans_pgd_map_range()), cache maintenance to PoC, and
>     GICv3 redistributor SGI wake helpers:
>       25. arm64: liveupdate: Add support for physical CPU preservation
>
> 5. Workstream 5: On-Core Scheduling Framework (oncore) (Patches 26-27)
>     (Note: This layer sits between cpu_preserve and the KVM Caretaker and
>     Kernel Caretaker (Future Work for Orphaned Processes))
>     Provides a runqueue and time-slice scheduling framework
>     (kernel/liveupdate/oncore.c) that multiplexes preserved workloads
>     onto preserved physical CPUs during the kexec blackout window:
>       26. oncore: Add on-core KHO ABI and public framework headers
>       27. oncore: Implement on-core session lifecycle and scheduling loop
>
> 6. Workstream 6: KVM Caretaker Core & Intel VMX Support
>     (Patches 28-39)
>     Introduces the KVM Caretaker execution engine (virt/kvm/caretaker.c),
>     vCPU detach/attach/cancel lifecycle, optional cross-kexec execution
>     telemetry and debugfs reporting, x86 TDP MMU KHO page table
>     preservation, x86 common Caretaker runtime (LAPIC timer injection,
>     VM-exit dispatch, instruction decoding), and the Intel VMX Caretaker
>     backend:
>       28. KVM: caretaker: Add Caretaker control block and architecture
>           ops headers
>       29. KVM: caretaker: Implement Caretaker session memory mapping
>           helpers
>       30. KVM: caretaker: Integrate Caretaker vCPU detach, attach, and
>           cancel with KVM
>       31. KVM: caretaker: Add generic KHO ABI telemetry and debugfs
>           reporting
>       32. KVM: x86: Add TDP MMU KHO preservation helpers
>       33. KVM: x86: Add Caretaker x86 KHO ABI and runtime context headers
>       34. KVM: x86: Implement Caretaker LAPIC timer and interrupt
>           injection
>       35. KVM: x86: Implement Caretaker VM-exit dispatch and instruction
>           decoders
>       36. KVM: x86: Implement Caretaker run loop and LUO detach/attach
>           lifecycle
>       37. KVM: VMX: Add Caretaker VMX assembly guest entry/exit routine
>           and helpers
>       38. KVM: VMX: Implement Caretaker VMX VMCS lifecycle and exit
>           dispatch
>       39. KVM: VMX: Integrate Caretaker VMX detach serialization and KVM
>           registration
>
> 7. Workstream 7: KVM Caretaker for AMD SVM (Patches 40-41)
>     Implements the AMD SVM Caretaker backend (caretaker_vmenter.S, VMCB
>     lifecycle, exit decoding, and next-RIP sync):
>       40. KVM: SVM: Add Caretaker SVM assembly guest entry/exit routine
>       41. KVM: SVM: Implement Caretaker SVM VMCB lifecycle and exit
>           dispatch
>
> 8. Workstream 8: KVM Caretaker for ARM64 (Patches 42-46)
>     Implements the ARM64 VHE Caretaker backend (caretaker_vmenter.S,
>     EL2 exception vectors, GICv3 CPU interface & arch timer emulation,
>     system register trap handling, and Stage-2 fault handling):
>       42. KVM: arm64: Add Caretaker arm64 KHO ABI and runtime context
>           headers
>       43. KVM: arm64: Add Caretaker EL2 exception vectors and guest
>           entry/exit assembly
>       44. KVM: arm64: Implement Caretaker GICv3 CPU interface and arch
>           timer emulation
>       45. KVM: arm64: Implement Caretaker system register trap and
>           exception handlers
>       46. KVM: arm64: Implement Caretaker vCPU run loop and LUO
>           detach/attach lifecycle
>
> Architectural Design Layers
> ===========================
> The OrphanVM architecture is layered so that each subsystem has zero
> upward symbol dependencies:
>
>    +--------------------------------------------------------------------+
>    | Layer 4: KVM Caretaker Engine (virt/kvm/caretaker.c + arch/kvm/*)  |
>    |   - VMENTER/VMRUN/ERET guest execution loop                        |
>    |   - Handling of timer preemption, HLT/WFI, MSR/sysreg traps        |
>    |   - Yield on unhandled I/O or Stage-2 MMIO faults                  |
>    +--------------------------------------------------------------------+


I had a superficial look at the code only, but it looked like we're not 
reusing any of the existing KVM code for entry or exit handling. I was 
hoping we could refactor some bits of KVM code into functionality that 
is safe stand-alone and functionality that does require the larger 
kernel ecosystem, then annotate the stand-alone ones as caretaker (btw, 
abbreviating as kvmct would shorten your function names significantly 
:)) and then consume them from both contexts.

Do you have any timing measurements for the approach as is?

Also, your patch set is cut off at 39/46. I was very curious to see how 
you deal with vGIC and context switching in the caretaker environment :).


Alex

  parent reply	other threads:[~2026-09-21  7:42 UTC|newest]

Thread overview: 49+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-20 19:36 Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 01/46] KVM: luo: Delegate VM creation type to kvm_arch_vm_luo_preserve Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 02/46] KVM: arm64: Split demux_c15_{get,set}_val from userspace accessors Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 03/46] KVM: arm64: Split kvm_sys_reg_{get,set}_user from kernel accessors Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 04/46] x86/mm/ident_map: Add force_pte to support 4K PTE identity mappings Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 05/46] arm64: mm: Add trans_pgd_map_range() support Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 06/46] x86/smp: Skip offline CPUs for REBOOT_VECTOR in native_stop_other_cpus() Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 07/46] KVM: luo: Support vCPU file preservation across live updates Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 08/46] KVM: x86: Add x86 vCPU LUO preservation ABI and register helpers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 09/46] KVM: x86: Implement architectural vCPU state preservation via LUO Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 10/46] KVM: arm64: " Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 11/46] liveupdate: Define CPU preservation linker sections Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 12/46] liveupdate: Add liveupdate_session_name() helper Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 13/46] cpu_preserve: Add physical CPU preservation ABI and core API headers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 14/46] cpu_preserve: Add core physical CPU preservation state and park loop Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 15/46] cpu_preserve: Add physical CPU preservation lifecycle and build rules Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 16/46] liveupdate: cpu_preserve: Add sysfs interface Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 17/46] liveupdate: cpu_preserve: Add isolated address space management API Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 18/46] liveupdate: cpu_preserve: Add LUO file handler for preserved physical CPUs Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 19/46] x86: liveupdate: Add low-level physical CPU preservation assembly Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 20/46] x86: liveupdate: Add physical CPU preservation context and page table support Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 21/46] selftests: liveupdate: Add physical CPU preservation unit tests Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 22/46] selftests: liveupdate: Add physical CPU preservation live update tests Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 23/46] Documentation: liveupdate: Add physical CPU preservation documentation Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 24/46] MAINTAINERS: Add entry for KVM Caretaker Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 25/46] arm64: liveupdate: Add support for physical CPU preservation Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 26/46] oncore: Add on-core KHO ABI and public framework headers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 27/46] oncore: Implement on-core session lifecycle and scheduling loop Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 28/46] KVM: caretaker: Add Caretaker control block and architecture ops headers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 29/46] KVM: caretaker: Implement Caretaker session memory mapping helpers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 30/46] KVM: caretaker: Integrate Caretaker vCPU detach, attach, and cancel with KVM Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 31/46] KVM: caretaker: Add generic KHO ABI telemetry and debugfs reporting Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 32/46] KVM: x86: Add TDP MMU KHO preservation helpers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 33/46] KVM: x86: Add Caretaker x86 KHO ABI and runtime context headers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 34/46] KVM: x86: Implement Caretaker LAPIC timer and interrupt injection Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 35/46] KVM: x86: Implement Caretaker VM-exit dispatch and instruction decoders Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 36/46] KVM: x86: Implement Caretaker run loop and LUO detach/attach lifecycle Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 37/46] KVM: VMX: Add Caretaker VMX assembly guest entry/exit routine and helpers Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 38/46] KVM: VMX: Implement Caretaker VMX VMCS lifecycle and exit dispatch Pasha Tatashin
2026-09-20 19:36 ` [RFC PATCH 39/46] KVM: VMX: Integrate Caretaker VMX detach serialization and KVM registration Pasha Tatashin
2026-09-21  7:42 ` Graf (AWS), Alexander [this message]
2026-09-21 21:00 ` Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 40/46] KVM: SVM: Add Caretaker SVM assembly guest entry/exit routine Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 41/46] KVM: SVM: Implement Caretaker SVM VMCB lifecycle and exit dispatch Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 42/46] KVM: arm64: Add Caretaker arm64 KHO ABI and runtime context headers Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 43/46] KVM: arm64: Add Caretaker EL2 exception vectors and guest entry/exit assembly Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 44/46] KVM: arm64: Implement Caretaker GICv3 CPU interface and arch timer emulation Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 45/46] KVM: arm64: Implement Caretaker system register trap and exception handlers Pasha Tatashin
2026-09-21 21:00   ` [RFC PATCH 46/46] KVM: arm64: Implement Caretaker vCPU run loop and LUO detach/attach lifecycle Pasha Tatashin

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=f0dca19e-a154-4597-99e8-7d03eb511d25@amazon.com \
    --to=graf@amazon.de \
    --cc=alexandre.chartre@oracle.com \
    --cc=ardb@kernel.org \
    --cc=arnd@arndb.de \
    --cc=atomlin@atomlin.com \
    --cc=bp@alien8.de \
    --cc=catalin.marinas@arm.com \
    --cc=chao.gao@intel.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=dianders@chromium.org \
    --cc=djbw@kernel.org \
    --cc=fuad.tabba@linux.dev \
    --cc=gshan@redhat.com \
    --cc=hamzamahfooz@linux.microsoft.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jani.nikula@intel.com \
    --cc=jaredwhite@microsoft.com \
    --cc=jgross@suse.com \
    --cc=jic23@kernel.org \
    --cc=joey.gouly@arm.com \
    --cc=johan@kernel.org \
    --cc=jpoimboe@kernel.org \
    --cc=kas@kernel.org \
    --cc=kees@kernel.org \
    --cc=kexec@lists.infradead.org \
    --cc=kvm@vger.kernel.org \
    --cc=kvmarm@lists.linux.dev \
    --cc=legion@kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=luto@kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=maz@kernel.org \
    --cc=mbenes@suse.cz \
    --cc=mingo@redhat.com \
    --cc=nathan@kernel.org \
    --cc=nogikh@google.com \
    --cc=nsc@kernel.org \
    --cc=oupton@kernel.org \
    --cc=pasha.tatashin@soleen.com \
    --cc=pbonzini@redhat.com \
    --cc=peterz@infradead.org \
    --cc=petr.pavlu@suse.com \
    --cc=pierre.gondois@arm.com \
    --cc=pmladek@suse.com \
    --cc=pratyush@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rppt@kernel.org \
    --cc=ruanjinjie@huawei.com \
    --cc=ryan.roberts@arm.com \
    --cc=seanjc@google.com \
    --cc=seiden@linux.ibm.com \
    --cc=shuah@kernel.org \
    --cc=sidnayyar@google.com \
    --cc=skhan@linuxfoundation.org \
    --cc=song@kernel.org \
    --cc=sumitg@nvidia.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tarunsahu@google.com \
    --cc=tglx@kernel.org \
    --cc=vdonnefort@google.com \
    --cc=vladimir.murzin@arm.com \
    --cc=will@kernel.org \
    --cc=x86@kernel.org \
    --cc=xur@google.com \
    --cc=yuzenghui@huawei.com \
    --cc=zengheng4@huawei.com \
    --cc=zhangpengjie2@huawei.com \
    --cc=zhenglifeng1@huawei.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®