linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Reinette Chatre <reinette.chatre@intel.com>
To: Babu Moger <babu.moger@amd.com>, <corbet@lwn.net>,
	<tony.luck@intel.com>, <Dave.Martin@arm.com>,
	<james.morse@arm.com>, <tglx@linutronix.de>, <mingo@redhat.com>,
	<bp@alien8.de>, <dave.hansen@linux.intel.com>
Cc: <x86@kernel.org>, <hpa@zytor.com>, <akpm@linux-foundation.org>,
	<rostedt@goodmis.org>, <paulmck@kernel.org>, <thuth@redhat.com>,
	<ardb@kernel.org>, <gregkh@linuxfoundation.org>,
	<seanjc@google.com>, <thomas.lendacky@amd.com>,
	<pawan.kumar.gupta@linux.intel.com>, <manali.shukla@amd.com>,
	<perry.yuan@amd.com>, <kai.huang@intel.com>,
	<peterz@infradead.org>, <xiaoyao.li@intel.com>,
	<kan.liang@linux.intel.com>, <mario.limonciello@amd.com>,
	<xin3.li@intel.com>, <gautham.shenoy@amd.com>, <xin@zytor.com>,
	<chang.seok.bae@intel.com>, <fenghuay@nvidia.com>,
	<peternewman@google.com>, <maciej.wieczor-retman@intel.com>,
	<eranian@google.com>, <linux-doc@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v14 00/32] fs,x86/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC)
Date: Tue, 24 Jun 2025 14:25:29 -0700	[thread overview]
Message-ID: <e911e9c0-be02-4e9d-93e6-0c04ae717905@intel.com> (raw)
In-Reply-To: <cover.1749848714.git.babu.moger@amd.com>

Hi Babu,

On 6/13/25 2:04 PM, Babu Moger wrote:
> 
> This series adds the support for Assignable Bandwidth Monitoring Counters
> (ABMC). It is also called QoS RMID Pinning feature
> 
> Series is written such that it is easier to support other assignable
> features supported from different vendors.
> 
> The feature details are documented in the  APM listed below [1].
> [1] AMD64 Architecture Programmer's Manual Volume 2: System Programming
> Publication # 24593 Revision 3.41 section 19.3.3.3 Assignable Bandwidth
> Monitoring (ABMC). The documentation is available at
> Link: https://bugzilla.kernel.org/show_bug.cgi?id=206537
> 
> The patches are based on top of commit
> b75dc5e1399df (tip/master) Merge branch into tip/master: 'sched/core'
> 
> # Introduction
> 
> Users can create as many monitor groups as RMIDs supported by the hardware.
> However, the bandwidth monitoring feature on AMD systems only guarantees
> that RMIDs currently assigned to a processor will be tracked by hardware.
> The counters of any other RMIDs which are no longer being tracked will be
> reset to zero. The MBM event counters return "Unavailable" for the RMIDs
> that are not tracked by hardware. So, there can be only limited number of
> groups that can give guaranteed monitoring numbers. With ever changing
> configurations there is no way to definitely know which of these groups
> are being tracked during a particular time. Users do not have the option
> to monitor a group or set of groups for a certain period of time without
> worrying about counter being reset in between.

"about counter" -> "about counters" ?

>     
> The ABMC feature allows users to assign a hardware counter ID to an RMID,
> event pair and monitor bandwidth usage as long as it is assigned. The
> hardware continues to track the assigned counter until it is explicitly
> unassigned by the user. Additionally, the user can specify the type of
> memory transactions (e.g., reads, writes) to be tracked by the counter
> for the assigned RMID.
> 
> Without ABMC enabled, monitoring will work in current 'default' mode without
> assignment option.
> 
> # History
> 
> Earlier implementation of ABMC had dependancy on BMEC (Bandwidth Monitoring
> Event Configuration). Peter had concerns with that implementation because
> it may be not be compatible with ARM's MPAM.
> 
> Here are the threads discussing the concerns and new interface to address the concerns.
> https://lore.kernel.org/lkml/CALPaoCg97cLVVAcacnarp+880xjsedEWGJPXhYpy4P7=ky4MZw@mail.gmail.com/
> https://lore.kernel.org/lkml/CALPaoCiii0vXOF06mfV=kVLBzhfNo0SFqt4kQGwGSGVUqvr2Dg@mail.gmail.com/
> 
> Here are the finalized requirements based on the discussion:
> 
> *   BMEC and ABMC are incompatible with each other. They need to be mutually exclusive.
> 
> *   Eliminate global assignment listing. The interface
>     /sys/fs/resctrl/info/L3_MON/mbm_assign_control is no longer required.
> 
> *   Create the configuration directories at /sys/fs/resctrl/info/L3_MON/counter_configs/.
>     The configuration file names should be free-form, allowing users to create them as needed.
> 
> *   Perform assignment listing at the group level by introducing mbm_L3_assignments
>     in each monitoring group level. The listing should provide the following details:
> 
>     Event Configuration: Specifies the event configuration applied. This will be crucial
>     when "mkdir" on event configuration is added in the future, leading to the creation
>     of mon_data/mon_l3_*/<event configuration>.
> 
>     Domains: Identifies the domains where the configuration is applied, supporting multi-domain setups.
> 
>     Assignment Type: Indicates whether the assignment is Exclusive (e or d), Shared (s), or Unassigned (_).
> 
>     Exclusive assignment: Assign the counter ID the RMID, event pair exclusively.
>     
>     Shared assignment: A shared assignment applies to both soft-ABMC and ABMC. A user can designate a
>                        "counter" (could be hardware counter or "active" RMID) as shared and that means
>                        the counter within that domain is shared between different monitor groups and actual
>                        assignment is scheduled by resctrl.  
> 
>     Unassigned: No longer assigned.
> 
> *   Provide option to enable or disable auto assignment when new group is created.
> 
> *   Keep the flexibilty to support future assign options like Soft-ABMC etc.
>     https://lore.kernel.org/lkml/7f10fa69-d1fe-4748-b10c-fa0c9b60bd66@intel.com/
>     
> 
> This series tries to address all the requirements listed above.

Please drop the "tries to". Also please do not say "address all requirements" when this
is not the case. This series does not address all the requirements listed
(no dynamic event configurations via mkdir and no shared assignment). Please be specific
about what this series addresses and what it leaves for "future", but highlight that
while this series does not implement all requirements it does create framework
to support their future implementation.

> 
> # Implementation details
> 
> Create a generic interface aimed to support user space assignment of scarce

drop "aimed"

> counters used for monitoring. First usage of interface is by ABMC with option
> to expand usage to "soft-ABMC" and MPAM counters in future.
> 
> Feature adds following interface files:
> 
> /sys/fs/resctrl/info/L3_MON/mbm_assign_mode: Reports the list of assignable
> monitoring features supported. The enclosed brackets indicate which
> feature is enabled.
> 
> /sys/fs/resctrl/info/L3_MON/num_mbm_cntrs: The maximum number of monitoring counters
> (total of available and assigned counters) in each domain when the system supports
> mbm_assign_mode. 
> 
> /sys/fs/resctrl/info/L3_MON/available_mbm_cntrs: The number of monitoring counters
> available for assignment in each domain when mbm_event mode is enabled on the system.

Why is "num_mbm_cntrs" connected to mbm_assign_mode while "available_mbm_cntrs" is
connected to mbm_event mode? Perhaps both can be "mbm_event" mode to reduce confusion?

> 
> /sys/fs/resctrl/info/L3_MON/event_configs: Contains sub-directory for each MBM event
> 					   that can be assigned to a counter.
> 
> /sys/fs/resctrl/info/L3_MON/event_configs/mbm_total_bytes/event_filter: The type of
> 			memory transactions tracked by the event mbm_total_bytes.
> 
> /sys/fs/resctrl/info/L3_MON/event_configs/mbm_local_bytes/event_filter: The type of
> 			memory transactions tracked by the event mbm_local_bytes.
> 
> /sys/fs/resctrl/mbm_L3_assignments: Per monitor group interface to list or modify
> 				    counters assigned to the group.
> 
> # Examples
> 
> a. Check if MBM assign support is available
> 	#mount -t resctrl resctrl /sys/fs/resctrl/
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
> 	[mbm_event]
> 	default
> 
> 	mbm_event feature is detected and it is enabled.
> 
> b. Check how many assignable counters are supported. 
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/num_mbm_cntrs 
> 	0=32;1=32
> 
> c. Check how many assignable counters are available for assignment in each domain.
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/available_mbm_cntrs 
> 	0=30;1=30
> 
> d. Check default event configuration.
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_total_bytes/event_filter 
> 	local_reads,remote_reads,local_non_temporal_writes,remote_non_temporal_writes,
>         local_reads_slow_memory,remote_reads_slow_memory,dirty_victim_writes_all
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_local_bytes/event_filter 
> 	local_reads,local_non_temporal_writes,local_reads_slow_memory
> 
> e. Series adds a new interface file "mbm_L3_assignments" in each monitoring group
>    to list and modify that group's monitoring states.
> 
> 	The list is displayed in the following format:
> 
>         <Event>:<Domain ID>=<Assignment type>

Suggest adding multiple domains to example. Above creates impression that each domain
is listed on its own line (until example below clears that up).

> 
>         Event: A valid MBM event listed in the
>         /sys/fs/resctrl/info/L3_MON/event_configs directory.
> 
>         Domain ID: A valid domain ID.
> 
>         Assignment types:
> 
>         _ : No counter assigned.
> 
>         e : Counter assigned exclusively.
> 
> 	To list the default group states:
> 	# cat /sys/fs/resctrl/mbm_L3_assignments
> 	mbm_total_bytes:0=e;1=e
> 	mbm_local_bytes:0=e;1=e
> 
> 	To unassign the counter associated with the mbm_total_bytes event on domain 0:
> 	# echo "mbm_total_bytes:0=_" > /sys/fs/resctrl/mbm_L3_assignments
> 	# cat /sys/fs/resctrl/mbm_L3_assignments
> 	mbm_total_bytes:0=_;1=e
> 	mbm_local_bytes:0=e;1=e
> 
> 	To unassign the counter associated with the mbm_total_bytes event on all domains:
>     	# echo "mbm_total_bytes:*=_" > /sys/fs/resctrl/mbm_L3_assignments
> 	# cat /sys/fs/resctrl/mbm_L3_assignment
> 	mbm_total_bytes:0=_;1=_
> 	mbm_local_bytes:0=e;1=e
> 
> 	To assign a counter associated with the mbm_total_bytes event on all domains in exclusive mode:
>     	# echo "mbm_total_bytes:*=e" > /sys/fs/resctrl/mbm_L3_assignments
> 	# cat /sys/fs/resctrl/mbm_L3_assignments
> 	mbm_total_bytes:0=e;1=e
> 	mbm_local_bytes:0=e;1=e
> 
> g. Read the events mbm_total_bytes and mbm_local_bytes of the default group.
>    There is no change in reading the events with the assignment.  If the event is unassigned
>    when reading, then the read will come back as "Unassigned".
> 	
> 	# cat /sys/fs/resctrl/mon_data/mon_L3_00/mbm_total_bytes
> 	779247936
> 	# cat /sys/fs/resctrl/mon_data/mon_L3_00/mbm_local_bytes 
> 	765207488
> 	
> h. Check the default event configurations.
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_total_bytes/event_filter
> 	local_reads,remote_reads,local_non_temporal_writes,remote_non_temporal_writes,
> 	local_reads_slow_memory,remote_reads_slow_memory,dirty_victim_writes_all
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/event_configs/mbm_local_bytes/event_filter
> 	local_reads,local_non_temporal_writes,local_reads_slow_memory
> 
> i. Change the event configuration for mbm_local_bytes.
> 
> 	# echo "local_reads, local_non_temporal_writes, local_reads_slow_memory, remote_reads" >
> 	/sys/fs/resctrl/info/L3_MON/counter_configs/mbm_local_bytes/event_filter
> 
> 	# cat /sys/fs/resctrl/info/L3_MON/counter_configs/mbm_local_bytes/event_filter
> 	local_reads, local_non_temporal_writes, local_reads_slow_memory, remote_reads

Note that examples are inconsistent wrt spacing in output of this file. This is expected
to match how the implementation in series does the spacing.

> 	
> 	This will update all (across all domains of all monitor groups) counter assignments 
>         associated with the mbm_local_bytes event.
> 
> j. Now read the local event again. The first read may come back with "Unavailable"
>    status. The subsequent read of mbm_local_bytes will display only the read events.

Above specifies "will display only the read events" while previous step added
"local_non_temporal_writes" to the memory transactions. What is meant with "only the read events"?

> 	
> 	# cat /sys/fs/resctrl/mon_data/mon_L3_00/mbm_local_bytes
> 	Unavailable
> 	# cat /sys/fs/resctrl/mon_data/mon_L3_00/mbm_local_bytes
> 	314101
> 
> k. Users have the option to go back to 'default' mbm_assign_mode if required.
>    This can be done using the following command. Note that switching the
>    mbm_assign_mode will reset all the MBM counters (and thus all MBM events) of all
>    the resctrl groups.
> 
> 	# echo "default" > /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
> 	# cat /sys/fs/resctrl/info/L3_MON/mbm_assign_mode
> 	mbm_event
> 	[default]
> 	
> l. Unmount the resctrl
> 	 
> 	#umount /sys/fs/resctrl/
> ---

Reinette


      parent reply	other threads:[~2025-06-24 21:25 UTC|newest]

Thread overview: 114+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-06-13 21:04 [PATCH v14 00/32] fs,x86/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-06-13 21:04 ` [PATCH v14 01/32] x86,fs/resctrl: Remove unappropriate references to cacheinfo in the resctrl subsystem Babu Moger
2025-06-13 21:04 ` [PATCH v14 02/32] x86,fs/resctrl: Consolidate monitor event descriptions Babu Moger
2025-06-24 21:28   ` Reinette Chatre
2025-06-25 15:57     ` Moger, Babu
2025-06-25 17:55       ` Luck, Tony
2025-06-25 20:12         ` Luck, Tony
2025-06-25 22:31           ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 03/32] x86,fs/resctrl: Replace architecture event enabled checks Babu Moger
2025-06-13 21:04 ` [PATCH v14 04/32] x86/resctrl: Remove 'rdt_mon_features' global variable Babu Moger
2025-06-13 21:04 ` [PATCH v14 05/32] x86,fs/resctrl: Prepare for more monitor events Babu Moger
2025-06-24 21:30   ` Reinette Chatre
2025-06-13 21:04 ` [PATCH v14 06/32] x86/cpufeatures: Add support for Assignable Bandwidth Monitoring Counters (ABMC) Babu Moger
2025-06-24 21:31   ` Reinette Chatre
2025-06-25 16:28     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 07/32] x86/resctrl: Add ABMC feature in the command line options Babu Moger
2025-06-13 21:04 ` [PATCH v14 08/32] x86,fs/resctrl: Consolidate monitoring related data from rdt_resource Babu Moger
2025-06-24 21:32   ` Reinette Chatre
2025-06-25 16:53     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 09/32] x86/resctrl: Detect Assignable Bandwidth Monitoring feature details Babu Moger
2025-06-24 21:33   ` Reinette Chatre
2025-06-25 17:58     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 10/32] x86/resctrl: Add support to enable/disable AMD ABMC feature Babu Moger
2025-06-24 22:37   ` Reinette Chatre
2025-06-25 19:50     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 11/32] fs/resctrl: Introduce the interface to display monitoring modes Babu Moger
2025-06-24 22:47   ` Reinette Chatre
2025-06-25 20:14     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 12/32] fs/resctrl: Introduce interface to display number of assignable counter IDs Babu Moger
2025-06-24 23:05   ` Reinette Chatre
2025-06-25 20:33     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 13/32] fs/resctrl: Introduce mbm_cntr_cfg to track assignable counters per domain Babu Moger
2025-06-24 23:31   ` Reinette Chatre
2025-06-26  1:31     ` Moger, Babu
2025-06-26 15:05       ` Reinette Chatre
2025-06-26 15:46         ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 14/32] fs/resctrl: Introduce interface to display number of free MBM counters Babu Moger
2025-06-24 23:39   ` Reinette Chatre
2025-06-26 14:17     ` Moger, Babu
2025-06-24 23:41   ` Reinette Chatre
2025-06-26 14:19     ` Moger, Babu
2025-06-13 21:04 ` [PATCH v14 15/32] x86/resctrl: Add data structures and definitions for ABMC assignment Babu Moger
2025-06-13 21:05 ` [PATCH v14 16/32] x86,fs/resctrl: Introduce event configuration field in struct mon_evt Babu Moger
2025-06-24 23:51   ` Reinette Chatre
2025-06-26 16:47     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 17/32] x86/resctrl: Implement resctrl_arch_config_cntr() to assign a counter with ABMC Babu Moger
2025-06-25  3:03   ` Reinette Chatre
2025-06-26 17:41     ` Moger, Babu
2025-06-26 18:02       ` Reinette Chatre
2025-06-26 18:35         ` Moger, Babu
2025-06-26 20:24           ` Reinette Chatre
2025-06-13 21:05 ` [PATCH v14 18/32] fs/resctrl: Add the functionality to assign MBM events Babu Moger
2025-06-25  3:32   ` Reinette Chatre
2025-06-26 19:31     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 19/32] fs/resctrl: Add the functionality to unassign " Babu Moger
2025-06-25  3:38   ` Reinette Chatre
2025-06-26 21:12     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 20/32] fs/resctrl: Report 'Unassigned' for MBM events in mbm_event mode Babu Moger
2025-06-25  4:14   ` Reinette Chatre
2025-06-27  1:34     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 21/32] fs/resctrl: Pass entire struct rdtgroup rather than passing individual members Babu Moger
2025-06-25  4:18   ` Reinette Chatre
2025-06-30 13:57     ` Moger, Babu
2025-06-30 15:44       ` Reinette Chatre
2025-06-30 20:58         ` Moger, Babu
2025-06-30 21:59           ` Reinette Chatre
2025-06-30 22:47             ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 22/32] x86,fs/resctrl: Add the support for reading ABMC counters Babu Moger
2025-06-13 21:05 ` [PATCH v14 23/32] fs/resctrl: Add definitions for MBM event configuration Babu Moger
2025-06-25  4:32   ` Reinette Chatre
2025-06-30 17:20     ` Moger, Babu
2025-06-30 21:58       ` Reinette Chatre
2025-06-30 22:51         ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 24/32] fs/resctrl: Add event configuration directory under info/L3_MON/ Babu Moger
2025-06-25 23:23   ` Reinette Chatre
2025-06-30 19:06     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 25/32] fs/resctrl: Provide interface to update the event configurations Babu Moger
2025-06-25 23:21   ` Reinette Chatre
2025-07-01  0:43     ` Moger, Babu
2025-07-01  1:33       ` Reinette Chatre
2025-07-01 16:14         ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 26/32] fs/resctrl: Introduce mbm_assign_on_mkdir to enable assignments on mkdir Babu Moger
2025-06-25 23:24   ` Reinette Chatre
2025-07-01 16:23     ` Moger, Babu
2025-07-01 16:37       ` Reinette Chatre
2025-06-13 21:05 ` [PATCH v14 27/32] x86,fs/resctrl: Auto assign/unassign counters " Babu Moger
2025-06-25 23:25   ` Reinette Chatre
2025-07-01 19:06     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 28/32] fs/resctrl: Introduce mbm_L3_assignments to list assignments in a group Babu Moger
2025-06-25 23:27   ` Reinette Chatre
2025-07-01 19:48     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 29/32] fs/resctrl: Introduce the interface to modify " Babu Moger
2025-06-25 23:38   ` Reinette Chatre
2025-07-02  2:18     ` Moger, Babu
2025-07-02  2:56       ` Reinette Chatre
2025-06-13 21:05 ` [PATCH v14 30/32] fs/resctrl: Hide the BMEC related files when mbm_event mode is enabled Babu Moger
2025-06-25 23:39   ` Reinette Chatre
2025-07-02 16:42     ` Moger, Babu
2025-07-02 17:21       ` Reinette Chatre
2025-07-02 19:04         ` Moger, Babu
2025-07-03 16:21           ` Reinette Chatre
2025-07-07 22:35             ` Moger, Babu
2025-07-08 13:27               ` Moger, Babu
2025-07-08 15:21                 ` Reinette Chatre
2025-07-08 15:43                   ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 31/32] fs/resctrl: Introduce the interface to switch between monitor modes Babu Moger
2025-06-25 23:40   ` Reinette Chatre
2025-07-02 17:39     ` Moger, Babu
2025-06-13 21:05 ` [PATCH v14 32/32] x86/resctrl: Configure mbm_event mode if supported Babu Moger
2025-06-25 23:40   ` Reinette Chatre
2025-07-02 17:45     ` Moger, Babu
2025-06-13 21:41 ` [PATCH v14 00/32] fs,x86/resctrl: Support AMD Assignable Bandwidth Monitoring Counters (ABMC) Luck, Tony
2025-06-16 14:47   ` Moger, Babu
2025-06-24 21:25 ` Reinette Chatre [this message]

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=e911e9c0-be02-4e9d-93e6-0c04ae717905@intel.com \
    --to=reinette.chatre@intel.com \
    --cc=Dave.Martin@arm.com \
    --cc=akpm@linux-foundation.org \
    --cc=ardb@kernel.org \
    --cc=babu.moger@amd.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=corbet@lwn.net \
    --cc=dave.hansen@linux.intel.com \
    --cc=eranian@google.com \
    --cc=fenghuay@nvidia.com \
    --cc=gautham.shenoy@amd.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=kai.huang@intel.com \
    --cc=kan.liang@linux.intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maciej.wieczor-retman@intel.com \
    --cc=manali.shukla@amd.com \
    --cc=mario.limonciello@amd.com \
    --cc=mingo@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=perry.yuan@amd.com \
    --cc=peternewman@google.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=seanjc@google.com \
    --cc=tglx@linutronix.de \
    --cc=thomas.lendacky@amd.com \
    --cc=thuth@redhat.com \
    --cc=tony.luck@intel.com \
    --cc=x86@kernel.org \
    --cc=xiaoyao.li@intel.com \
    --cc=xin3.li@intel.com \
    --cc=xin@zytor.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;
as well as URLs for NNTP newsgroup(s).