mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ackerley Tng <ackerleytng@google.com>
To: Yan Zhao <yan.y.zhao@intel.com>
Cc: aik@amd.com, andrew.jones@linux.dev, binbin.wu@linux.intel.com,
	 brauner@kernel.org, chao.p.peng@linux.intel.com,
	david@kernel.org,  jmattson@google.com, jthoughton@google.com,
	michael.roth@amd.com,  oupton@kernel.org, pankaj.gupta@amd.com,
	qperret@google.com,  rick.p.edgecombe@intel.com,
	rientjes@google.com, shivankg@amd.com,  steven.price@arm.com,
	tabba@google.com, willy@infradead.org,  wyihan@google.com,
	forkloop@google.com, pratyush@kernel.org,
	 suzuki.poulose@arm.com, aneesh.kumar@kernel.org,
	liam@infradead.org,  Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	 Thomas Gleixner <tglx@kernel.org>,
	Ingo Molnar <mingo@redhat.com>, Borislav Petkov <bp@alien8.de>,
	 Dave Hansen <dave.hansen@linux.intel.com>,
	x86@kernel.org,  "H. Peter Anvin" <hpa@zytor.com>,
	Steven Rostedt <rostedt@goodmis.org>,
	 Masami Hiramatsu <mhiramat@kernel.org>,
	Mathieu Desnoyers <mathieu.desnoyers@efficios.com>,
	 Jonathan Corbet <corbet@lwn.net>,
	Shuah Khan <skhan@linuxfoundation.org>,
	 Shuah Khan <shuah@kernel.org>,
	Vishal Annapurve <vannapurve@google.com>,
	 Andrew Morton <akpm@linux-foundation.org>,
	Chris Li <chrisl@kernel.org>,  Kairui Song <kasong@tencent.com>,
	Kemeng Shi <shikemeng@huaweicloud.com>,
	 Nhat Pham <nphamcs@gmail.com>, Barry Song <baohua@kernel.org>,
	 Axel Rasmussen <axelrasmussen@google.com>,
	Yuanchu Xie <yuanchu@google.com>,  Wei Xu <weixugc@google.com>,
	Youngjun Park <youngjun.park@lge.com>,
	 Qi Zheng <qi.zheng@linux.dev>,
	Shakeel Butt <shakeel.butt@linux.dev>,
	 Kiryl Shutsemau <kas@kernel.org>,
	Baoquan He <baoquan.he@linux.dev>, Jason Gunthorpe <jgg@ziepe.ca>,
	 Vlastimil Babka <vbabka@kernel.org>,
	kvm@vger.kernel.org, linux-kernel@vger.kernel.org,
	 linux-trace-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
	 linux-kselftest@vger.kernel.org, linux-mm@kvack.org,
	 linux-coco@lists.linux.dev
Subject: Re: [PATCH v8 24/46] KVM: guest_memfd: Make in-place conversion the default
Date: Thu, 25 Jun 2026 11:20:30 -0700	[thread overview]
Message-ID: <CAEvNRgFfgV0FbQLzP8hhNH5hMGaQao6OFQin4cb3TAmC7SVhfA@mail.gmail.com> (raw)
In-Reply-To: <ajyCn0PnFtQK+Nka@yzhao56-desk.sh.intel.com>

Yan Zhao <yan.y.zhao@intel.com> writes:

> On Wed, Jun 24, 2026 at 05:05:44PM -0700, Ackerley Tng wrote:
>> Yan Zhao <yan.y.zhao@intel.com> writes:
>>
>> >
>> > [...snip...]
>> >
>> >>
>> >>  #ifdef kvm_arch_has_private_mem
>> >> -bool __ro_after_init gmem_in_place_conversion = false;
>> >> +bool __ro_after_init gmem_in_place_conversion = !IS_ENABLED(CONFIG_KVM_VM_MEMORY_ATTRIBUTES);
>> >> +module_param(gmem_in_place_conversion, bool, 0444);
>> >
>> > With gmem_in_place_conversion=true, userspace can create guest_memfd without the
>> > MMAP flag. In such cases, shared memory is allocated from different backends.
>> > This means this module parameter only enables per-gmem memory attribute and does
>> > not guarantee that gmem in-place conversion will actually occur.
>> >
>> > To avoid confusion, could we rename this module parameter to something more
>> > accurate, such as gmem_memory_attribute?
>> >
>>
>> I asked Sean about this after getting some fixes off list. Sean said
>> gmem_in_place_conversion is named for a host admin to use, and something
>> like gmem_memory_attributes is too much implementation details for the
>> admin.
> Thanks for this background.
>
> Some more context on why I'm asking:
>
> Currently, I'm testing TDX huge pages with the following two gmem components:
> 1. The gmem memory attribute in this gmem in-place conversion v8.
> 2. The gmem 2MB from buddy allocator. (for development/testing only).
>
> The gmem 2MB from buddy allocator allocates 2MB folios from buddy for private
> memory, while shared memory is allocated from a different backend.
> (To avoid fragmentation, only private mappings are split during private-to-shared
> conversions. In this approach, the 2MB folios are always retained in the gmem
> inode filemap cache without splitting.)
>
> Since shared memory is not allocated from gmem, there're no in-place conversions.
> The reason I'm using "gmem memory attribute" is that the per-VM attribute is
> being deprecated, as suggested by Sean [1].
>

v8 of conversions series changed that slightly, per-VM attributes is
going to stay around (because of work on RWX attributes, coming up) and
RWX will stay tracked at the VM level.

For v8 and beyond, only tracking of private/shared in per-VM attributes
is being deprecated.

By extension the entire thing about using guest_memfd for private memory
and a different backing memory for shared memory is being deprecated.

> Besides my current usage,

I think you can set up guest_memfd+2M for private memory and shared
memory from some other source, and that's the deprecated usage pattern.

> there may be other scenarios where gmem memory
> attributes is preferred without allocating shared memory from gmem.
> (e.g., PAGE.ADD from a temp extra shared source memory).
>

Is this TDH.MEM.PAGE.ADD, used indirectly from
tdx_gmem_post_populate()? This use case isn't blocked. Even if
gmem_in_place_conversion=true, you can still set src_address to
non-guest_memfd memory and load from anywhere you like.

Please let me know if that is broken! I think I accidentally used that
setup in selftests and it worked. The selftests are now defaulting to
in-place conversion.

> For such use cases, I'm concerns that the admins may find it confusing if they
> enable gmem_in_place_conversion but still observe extra memory consumptions for
> shared memory.
>

Hmm but I guess if someone enables gmem_in_place_conversion but still
allocates from elsewhere, they'd have to figure it out?

> [1] https://lore.kernel.org/kvm/aWmEegVP_A613WIr@google.com/
>
>> Sean, would you reconsider since Yan also asked? If the admin compiled
>> the kernel knowing what CONFIG_KVM_VM_MEMORY_ATTRIBUTES means, then the
>> admin would also be able to use a param like gmem_memory_attributes?
>>
>> There's the additional benefit that the similar naming aids in
>> understanding for both the admin and software engineers.
>>
>> Either way, in the next revision, I'll also add this documentation for
>> this module_param:
>>
>>   Setting the module parameter gmem_in_place_conversion to true will
>>   enable the KVM_SET_MEMORY_ATTRIBUTES2 guest_memfd ioctl and disables
>>   the KVM_SET_MEMORY_ATTRIBUTES VM ioctl. If gmem_in_place_conversion is
>>   true, the private/shared attribute will be tracked per-guest_memfd
>>   instead of per-VM.
>>
>> Let me know what y'all think of the wording!
>>
>> >>
>> >> [...snip...]
>> >>

  reply	other threads:[~2026-06-25 18:20 UTC|newest]

Thread overview: 189+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-19  0:31 [PATCH v8 00/46] guest_memfd: In-place conversion support Ackerley Tng via B4 Relay
2026-06-19  0:31 ` [PATCH v8 01/46] KVM: guest_memfd: Introduce per-gmem attributes, use to guard user mappings Ackerley Tng via B4 Relay
2026-06-22  9:08   ` Binbin Wu
2026-06-23  1:37     ` Sean Christopherson
2026-06-23  2:14       ` Binbin Wu
2026-06-24  0:09       ` Ackerley Tng
2026-06-19  0:31 ` [PATCH v8 02/46] KVM: Rename KVM_GENERIC_MEMORY_ATTRIBUTES to KVM_VM_MEMORY_ATTRIBUTES Ackerley Tng via B4 Relay
2026-06-23  2:48   ` Binbin Wu
2026-06-30 10:45   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 03/46] KVM: Move KVM_VM_MEMORY_ATTRIBUTES config definition to x86 Ackerley Tng via B4 Relay
2026-06-23  2:48   ` Binbin Wu
2026-06-30 10:45   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 04/46] KVM: Decouple kvm_has_arch_private_mem from CONFIG_KVM_VM_MEMORY_ATTRIBUTES Ackerley Tng via B4 Relay
2026-06-19  8:10   ` Fuad Tabba
2026-06-23  2:51   ` Binbin Wu
2026-06-24  0:13     ` Ackerley Tng
2026-06-24 15:12       ` Sean Christopherson
2026-06-30 10:47   ` Xiaoyao Li
2026-06-30 13:06     ` Sean Christopherson
2026-06-30 16:24       ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 05/46] KVM: Make CONFIG_KVM_VM_MEMORY_ATTRIBUTES selectable Ackerley Tng via B4 Relay
2026-06-19  8:12   ` Fuad Tabba
2026-06-19 12:51   ` Julian Braha
2026-06-23  0:16     ` Sean Christopherson
2026-06-24  0:14       ` Ackerley Tng
2026-06-30 10:55   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 06/46] KVM: Enumerate support for PRIVATE memory iff kvm_arch_has_private_mem is defined Ackerley Tng via B4 Relay
2026-06-23  3:10   ` Binbin Wu
2026-07-01  9:19   ` Xiaoyao Li
2026-07-01 16:55     ` Sean Christopherson
2026-06-19  0:31 ` [PATCH v8 07/46] KVM: Rename memory attribute APIs to prepare for in-place gmem conversion Ackerley Tng via B4 Relay
2026-06-19  8:16   ` Fuad Tabba
2026-06-23  4:55   ` Binbin Wu
2026-06-24 13:44     ` Ackerley Tng
2026-06-30 15:22   ` Xiaoyao Li
2026-06-30 17:30     ` Sean Christopherson
2026-07-01  7:01       ` Xiaoyao Li
2026-07-01 15:07         ` Sean Christopherson
2026-06-19  0:31 ` [PATCH v8 08/46] KVM: Provide generic interface for checking memory private/shared status Ackerley Tng via B4 Relay
2026-06-19  8:19   ` Fuad Tabba
2026-06-19  8:21     ` Fuad Tabba
2026-06-19  9:57       ` Suzuki K Poulose
2026-06-24 14:18         ` Ackerley Tng
2026-07-01  7:22   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 09/46] KVM: guest_memfd: Introduce function to check GFN " Ackerley Tng via B4 Relay
2026-06-19  8:25   ` Fuad Tabba
2026-06-23  5:25   ` Binbin Wu
2026-06-24 14:38     ` Ackerley Tng
2026-06-25  1:39       ` Binbin Wu
2026-07-16 17:20     ` Ackerley Tng
2026-06-30 12:19   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 10/46] KVM: guest_memfd: Wire up core private/shared attribute interfaces Ackerley Tng via B4 Relay
2026-06-19  8:34   ` Fuad Tabba
2026-06-23  6:15   ` Binbin Wu
2026-06-24 20:44     ` Ackerley Tng
2026-06-19  0:31 ` [PATCH v8 11/46] KVM: Consolidate private memory and guest_memfd ifdeffery in kvm_host.h Ackerley Tng via B4 Relay
2026-06-19 11:02   ` Fuad Tabba
2026-06-23  6:19   ` Binbin Wu
2026-06-30 13:59   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 12/46] KVM: guest_memfd: Only prepare folios for private pages Ackerley Tng via B4 Relay
2026-06-23  6:48   ` Binbin Wu
2026-07-01  8:05   ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 13/46] KVM: guest_memfd: Add base support for KVM_SET_MEMORY_ATTRIBUTES2 Ackerley Tng via B4 Relay
2026-06-19  9:25   ` Fuad Tabba
2026-06-23  0:22     ` Sean Christopherson
2026-06-23  8:20       ` Fuad Tabba
2026-06-24 21:03         ` Ackerley Tng
2026-06-23  7:38   ` Binbin Wu
2026-06-24 21:10     ` Ackerley Tng
2026-07-01 15:35   ` Sean Christopherson
2026-07-04 23:38   ` Suzuki K Poulose
2026-07-06 18:17     ` Ackerley Tng
2026-07-06 22:35       ` Suzuki K Poulose
2026-06-19  0:31 ` [PATCH v8 14/46] KVM: guest_memfd: Ensure pages are not in use before conversion Ackerley Tng via B4 Relay
2026-06-19  0:31 ` [PATCH v8 15/46] KVM: guest_memfd: Call arch invalidate hooks on conversion Ackerley Tng via B4 Relay
2026-06-19 10:09   ` Fuad Tabba
2026-06-23  1:15     ` Sean Christopherson
2026-06-23  8:58       ` Fuad Tabba
2026-06-24 17:46       ` Ackerley Tng
2026-06-24 22:15         ` Suzuki K Poulose
2026-06-25  6:48         ` Fuad Tabba
2026-06-19  0:31 ` [PATCH v8 16/46] KVM: guest_memfd: Return early if range already has requested attributes Ackerley Tng via B4 Relay
2026-06-19  0:31 ` [PATCH v8 17/46] KVM: guest_memfd: Advertise KVM_SET_MEMORY_ATTRIBUTES2 ioctl Ackerley Tng via B4 Relay
2026-06-19 10:35   ` Fuad Tabba
2026-06-23  9:14   ` Binbin Wu
2026-07-01  9:03   ` Xiaoyao Li
2026-07-01 16:09     ` Sean Christopherson
2026-07-02 10:51       ` Xiaoyao Li
2026-06-19  0:31 ` [PATCH v8 18/46] KVM: guest_memfd: Handle lru_add fbatch refcounts during conversion safety check Ackerley Tng via B4 Relay
2026-06-23  9:48   ` Binbin Wu
2026-06-24 17:01     ` Sean Christopherson
2026-06-24 16:57   ` Sean Christopherson
2026-06-24 22:25     ` Ackerley Tng
2026-06-25  0:35       ` Sean Christopherson
2026-06-25 12:57         ` David Hildenbrand (Arm)
2026-06-25 15:40           ` Sean Christopherson
2026-06-19  0:31 ` [PATCH v8 19/46] KVM: guest_memfd: Use actual size for invalidation in kvm_gmem_release() Ackerley Tng via B4 Relay
2026-06-19 10:46   ` Fuad Tabba
2026-06-19  0:31 ` [PATCH v8 20/46] KVM: guest_memfd: Determine invalidation filter from memory attributes Ackerley Tng via B4 Relay
2026-06-19  0:31 ` [PATCH v8 21/46] KVM: guest_memfd: Zero page while getting pfn Ackerley Tng via B4 Relay
2026-06-19 10:51   ` Fuad Tabba
2026-06-23  8:56   ` Yan Zhao
2026-06-24 22:30     ` Ackerley Tng
2026-06-19  0:31 ` [PATCH v8 22/46] KVM: SEV: Make 'uaddr' parameter optional for KVM_SEV_SNP_LAUNCH_UPDATE Ackerley Tng via B4 Relay
2026-06-19 11:01   ` Fuad Tabba
2026-06-24 22:31     ` Ackerley Tng
2026-06-19  0:32 ` [PATCH v8 23/46] KVM: TDX: Make source page optional for KVM_TDX_INIT_MEM_REGION Ackerley Tng via B4 Relay
2026-06-19 11:09   ` Fuad Tabba
2026-06-22  7:18     ` Yan Zhao
2026-06-23  1:24     ` Sean Christopherson
2026-06-22  6:57   ` Yan Zhao
2026-06-23  1:22     ` Sean Christopherson
2026-06-23  5:16       ` Yan Zhao
2026-06-23  8:41         ` Yan Zhao
2026-06-24 22:31           ` Sean Christopherson
2026-06-24 23:00             ` Ackerley Tng
2026-06-25  2:25               ` Yan Zhao
2026-06-26  0:07                 ` Ackerley Tng
2026-06-26  1:17                   ` Yan Zhao
2026-06-26 15:28                     ` Ackerley Tng
2026-06-29  9:40                       ` Yan Zhao
2026-06-30  0:00                         ` Ackerley Tng
2026-06-30  2:09                           ` Yan Zhao
2026-06-30  0:35                         ` Sean Christopherson
2026-06-30  2:21                           ` Yan Zhao
2026-06-30 13:27                             ` Sean Christopherson
2026-07-01  6:21                               ` Yan Zhao
2026-06-19  0:32 ` [PATCH v8 24/46] KVM: guest_memfd: Make in-place conversion the default Ackerley Tng via B4 Relay
2026-06-22  4:53   ` Yan Zhao
2026-06-25  0:05     ` Ackerley Tng
2026-06-25  0:41       ` Sean Christopherson
2026-06-25  1:51         ` Yan Zhao
2026-06-25 10:57           ` Yan Zhao
2026-06-25 14:36             ` [PATCH v8 24/46] KVM: guest_memfd: Make in-place conversion the default\ Sean Christopherson
2026-06-26  0:29               ` Yan Zhao
2026-06-26 19:06                 ` Sean Christopherson
2026-06-29 11:39                   ` Yan Zhao
2026-07-01 11:07                   ` Xiaoyao Li
2026-07-01 13:53                     ` Sean Christopherson
2026-06-25  1:21       ` [PATCH v8 24/46] KVM: guest_memfd: Make in-place conversion the default Yan Zhao
2026-06-25 18:20         ` Ackerley Tng [this message]
2026-06-26  0:04           ` Yan Zhao
2026-06-24 18:57   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 25/46] KVM: guest_memfd: Enable INIT_SHARED on guest_memfd for x86 Coco VMs Ackerley Tng via B4 Relay
2026-07-01 11:18   ` Xiaoyao Li
2026-06-19  0:32 ` [PATCH v8 26/46] KVM: selftests: Create gmem fd before "regular" fd when adding memslot Ackerley Tng via B4 Relay
2026-06-19  0:32 ` [PATCH v8 27/46] KVM: selftests: Rename guest_memfd{,_offset} to gmem_{fd,offset} Ackerley Tng via B4 Relay
2026-06-19  0:32 ` [PATCH v8 28/46] KVM: selftests: Add support for mmap() on guest_memfd in core library Ackerley Tng via B4 Relay
2026-06-24 19:07   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 29/46] KVM: selftests: Add selftests global for guest memory attributes capability Ackerley Tng via B4 Relay
2026-06-24 19:26   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 30/46] KVM: selftests: Add helpers for calling ioctls on guest_memfd Ackerley Tng via B4 Relay
2026-06-24 19:26   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 31/46] KVM: selftests: Test basic single-page conversion flow Ackerley Tng via B4 Relay
2026-06-24 19:45   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 32/46] KVM: selftests: Test conversion flow when INIT_SHARED Ackerley Tng via B4 Relay
2026-06-24 19:55   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 33/46] KVM: selftests: Test conversion precision in guest_memfd Ackerley Tng via B4 Relay
2026-06-25  6:57   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 34/46] KVM: selftests: Test conversion before allocation Ackerley Tng via B4 Relay
2026-06-25  7:00   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 35/46] KVM: selftests: Convert with allocated folios in different layouts Ackerley Tng via B4 Relay
2026-06-25  7:03   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 36/46] KVM: selftests: Test that truncation does not change shared/private status Ackerley Tng via B4 Relay
2026-06-25  7:03   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 37/46] KVM: selftests: Test that shared/private status is consistent across processes Ackerley Tng via B4 Relay
2026-06-25  7:14   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 38/46] KVM: selftests: Add helpers to pin pages with CONFIG_GUP_TEST Ackerley Tng via B4 Relay
2026-06-25  7:40   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 39/46] KVM: selftests: Test conversion with elevated page refcount Ackerley Tng via B4 Relay
2026-06-25  8:04   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 40/46] KVM: selftests: Reset shared memory after hole-punching Ackerley Tng via B4 Relay
2026-06-25  8:46   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 41/46] KVM: selftests: Provide function to look up guest_memfd details from gpa Ackerley Tng via B4 Relay
2026-06-25  8:58   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 42/46] KVM: selftests: Provide common function to set memory attributes Ackerley Tng via B4 Relay
2026-06-25  9:09   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 43/46] KVM: selftests: Check fd/flags provided to mmap() when setting up memslot Ackerley Tng via B4 Relay
2026-06-25  9:20   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 44/46] KVM: selftests: Make TEST_EXPECT_SIGBUS thread-safe Ackerley Tng via B4 Relay
2026-06-25  9:30   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 45/46] KVM: selftests: Update private_mem_conversions_test to mmap() guest_memfd Ackerley Tng via B4 Relay
2026-06-25  9:43   ` Fuad Tabba
2026-06-19  0:32 ` [PATCH v8 46/46] KVM: selftests: Update private memory exits test to work with per-gmem attributes Ackerley Tng via B4 Relay
2026-06-25  9:56   ` Fuad Tabba
2026-06-19 12:28 ` [PATCH v8 00/46] guest_memfd: In-place conversion support Garg, Shivank
2026-06-25  0:19   ` Ackerley Tng
2026-06-23  2:39 ` Xiaoyao Li
2026-06-25  0:19   ` Ackerley Tng

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=CAEvNRgFfgV0FbQLzP8hhNH5hMGaQao6OFQin4cb3TAmC7SVhfA@mail.gmail.com \
    --to=ackerleytng@google.com \
    --cc=aik@amd.com \
    --cc=akpm@linux-foundation.org \
    --cc=andrew.jones@linux.dev \
    --cc=aneesh.kumar@kernel.org \
    --cc=axelrasmussen@google.com \
    --cc=baohua@kernel.org \
    --cc=baoquan.he@linux.dev \
    --cc=binbin.wu@linux.intel.com \
    --cc=bp@alien8.de \
    --cc=brauner@kernel.org \
    --cc=chao.p.peng@linux.intel.com \
    --cc=chrisl@kernel.org \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=david@kernel.org \
    --cc=forkloop@google.com \
    --cc=hpa@zytor.com \
    --cc=jgg@ziepe.ca \
    --cc=jmattson@google.com \
    --cc=jthoughton@google.com \
    --cc=kas@kernel.org \
    --cc=kasong@tencent.com \
    --cc=kvm@vger.kernel.org \
    --cc=liam@infradead.org \
    --cc=linux-coco@lists.linux.dev \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linux-trace-kernel@vger.kernel.org \
    --cc=mathieu.desnoyers@efficios.com \
    --cc=mhiramat@kernel.org \
    --cc=michael.roth@amd.com \
    --cc=mingo@redhat.com \
    --cc=nphamcs@gmail.com \
    --cc=oupton@kernel.org \
    --cc=pankaj.gupta@amd.com \
    --cc=pbonzini@redhat.com \
    --cc=pratyush@kernel.org \
    --cc=qi.zheng@linux.dev \
    --cc=qperret@google.com \
    --cc=rick.p.edgecombe@intel.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=seanjc@google.com \
    --cc=shakeel.butt@linux.dev \
    --cc=shikemeng@huaweicloud.com \
    --cc=shivankg@amd.com \
    --cc=shuah@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=steven.price@arm.com \
    --cc=suzuki.poulose@arm.com \
    --cc=tabba@google.com \
    --cc=tglx@kernel.org \
    --cc=vannapurve@google.com \
    --cc=vbabka@kernel.org \
    --cc=weixugc@google.com \
    --cc=willy@infradead.org \
    --cc=wyihan@google.com \
    --cc=x86@kernel.org \
    --cc=yan.y.zhao@intel.com \
    --cc=youngjun.park@lge.com \
    --cc=yuanchu@google.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