diff options
author | 2024-06-28 14:56:15 -0700 | |
---|---|---|
committer | 2024-07-02 19:57:19 +0200 | |
commit | c8c7d3d904b76c45fe2b5dc982fb5090d12a63af (patch) | |
tree | 5c794fa423853bf3649c8d27ba8af150f45d4eb6 /arch/x86/kernel/cpu/resctrl/internal.h | |
parent | x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode (diff) | |
download | wireguard-linux-c8c7d3d904b76c45fe2b5dc982fb5090d12a63af.tar.xz wireguard-linux-c8c7d3d904b76c45fe2b5dc982fb5090d12a63af.zip |
x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter
mon_event_read() fills out most fields of the struct rmid_read that is passed
via an smp_call*() function to a CPU that is part of the correct domain to
read the monitor counters.
With Sub-NUMA Cluster (SNC) mode there are now two cases to handle:
1) Reading a file that returns a value for a single domain.
+ Choose the CPU to execute from the domain cpu_mask
2) Reading a file that must sum across domains sharing an L3 cache
instance.
+ Indicate to called code that a sum is needed by passing a NULL
rdt_mon_domain pointer.
+ Choose the CPU from the L3 shared_cpu_map.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Reviewed-by: Reinette Chatre <reinette.chatre@intel.com>
Tested-by: Babu Moger <babu.moger@amd.com>
Link: https://lore.kernel.org/r/20240628215619.76401-16-tony.luck@intel.com
Diffstat (limited to '')
-rw-r--r-- | arch/x86/kernel/cpu/resctrl/internal.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h index 13d862221f9c..16982d1baf99 100644 --- a/arch/x86/kernel/cpu/resctrl/internal.h +++ b/arch/x86/kernel/cpu/resctrl/internal.h @@ -632,7 +632,7 @@ void mon_event_count(void *info); int rdtgroup_mondata_show(struct seq_file *m, void *arg); void mon_event_read(struct rmid_read *rr, struct rdt_resource *r, struct rdt_mon_domain *d, struct rdtgroup *rdtgrp, - int evtid, int first); + cpumask_t *cpumask, int evtid, int first); void mbm_setup_overflow_handler(struct rdt_mon_domain *dom, unsigned long delay_ms, int exclude_cpu); |