Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

arm_mpam: resctrl: Implement resctrl_arch_reset_all_ctrls()

We already have a helper for resetting an mpam class and component. Hook
it up to resctrl_arch_reset_all_ctrls() and the domain offline path.

Tested-by: Gavin Shan <gshan@redhat.com>
Tested-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Tested-by: Peter Newman <peternewman@google.com>
Tested-by: Zeng Heng <zengheng4@huawei.com>
Tested-by: Punit Agrawal <punit.agrawal@oss.qualcomm.com>
Tested-by: Jesse Chick <jessechick@os.amperecomputing.com>
Reviewed-by: Shaopeng Tan <tan.shaopeng@jp.fujitsu.com>
Reviewed-by: Zeng Heng <zengheng4@huawei.com>
Reviewed-by: Jonathan Cameron <jonathan.cameron@huawei.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Co-developed-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: Ben Horgan <ben.horgan@arm.com>
Signed-off-by: James Morse <james.morse@arm.com>

+17 -1
+1 -1
drivers/resctrl/mpam_devices.c
··· 2551 2551 } 2552 2552 } 2553 2553 2554 - static void mpam_reset_class_locked(struct mpam_class *class) 2554 + void mpam_reset_class_locked(struct mpam_class *class) 2555 2555 { 2556 2556 struct mpam_component *comp; 2557 2557
+3
drivers/resctrl/mpam_internal.h
··· 388 388 void mpam_enable(struct work_struct *work); 389 389 void mpam_disable(struct work_struct *work); 390 390 391 + /* Reset all the RIS in a class under cpus_read_lock() */ 392 + void mpam_reset_class_locked(struct mpam_class *class); 393 + 391 394 int mpam_apply_config(struct mpam_component *comp, u16 partid, 392 395 struct mpam_config *cfg); 393 396
+13
drivers/resctrl/mpam_resctrl.c
··· 170 170 return comp->comp_id; 171 171 } 172 172 173 + void resctrl_arch_reset_all_ctrls(struct rdt_resource *r) 174 + { 175 + struct mpam_resctrl_res *res; 176 + 177 + lockdep_assert_cpus_held(); 178 + 179 + if (!mpam_is_enabled()) 180 + return; 181 + 182 + res = container_of(r, struct mpam_resctrl_res, resctrl_res); 183 + mpam_reset_class_locked(res->class); 184 + } 185 + 173 186 static void mpam_resctrl_domain_hdr_init(int cpu, struct mpam_component *comp, 174 187 enum resctrl_res_level rid, 175 188 struct rdt_domain_hdr *hdr)