x86/resctrl: Make resctrl_arch_get_config() return its value
authorJames Morse <james.morse@arm.com>
Wed, 11 Aug 2021 16:38:31 +0000 (16:38 +0000)
committerBorislav Petkov <bp@suse.de>
Wed, 11 Aug 2021 16:42:53 +0000 (18:42 +0200)
resctrl_arch_get_config() has no return, but does pass a single value
back via one of its arguments.

Return the value instead.

Suggested-by: Borislav Petkov <bp@alien8.de>
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210811163831.14917-1-james.morse@arm.com
arch/x86/kernel/cpu/resctrl/ctrlmondata.c
arch/x86/kernel/cpu/resctrl/monitor.c
arch/x86/kernel/cpu/resctrl/rdtgroup.c
include/linux/resctrl.h

index a487cf7ff04e49823a23577b630efe99030ea545..87666275eed920654868ccf3fd9bb2a0b6b81004 100644 (file)
@@ -427,16 +427,15 @@ out:
        return ret ?: nbytes;
 }
 
-void resctrl_arch_get_config(struct rdt_resource *r, struct rdt_domain *d,
-                            u32 closid, enum resctrl_conf_type type, u32 *value)
+u32 resctrl_arch_get_config(struct rdt_resource *r, struct rdt_domain *d,
+                           u32 closid, enum resctrl_conf_type type)
 {
        struct rdt_hw_domain *hw_dom = resctrl_to_arch_dom(d);
        u32 idx = get_config_index(closid, type);
 
        if (!is_mba_sc(r))
-               *value = hw_dom->ctrl_val[idx];
-       else
-               *value = hw_dom->mbps_val[idx];
+               return hw_dom->ctrl_val[idx];
+       return hw_dom->mbps_val[idx];
 }
 
 static void show_doms(struct seq_file *s, struct resctrl_schema *schema, int closid)
@@ -451,8 +450,8 @@ static void show_doms(struct seq_file *s, struct resctrl_schema *schema, int clo
                if (sep)
                        seq_puts(s, ";");
 
-               resctrl_arch_get_config(r, dom, closid, schema->conf_type,
-                                       &ctrl_val);
+               ctrl_val = resctrl_arch_get_config(r, dom, closid,
+                                                  schema->conf_type);
                seq_printf(s, r->format_str, dom->id, max_data_width,
                           ctrl_val);
                sep = true;
index eb227298487f97fc2fd6ac7177f32992b6cc10f2..b0741bee79fc4b17b1fd74e37557899d4c1fcdda 100644 (file)
@@ -442,7 +442,7 @@ static void update_mba_bw(struct rdtgroup *rgrp, struct rdt_domain *dom_mbm)
        hw_dom_mba = resctrl_to_arch_dom(dom_mba);
 
        cur_bw = pmbm_data->prev_bw;
-       resctrl_arch_get_config(r_mba, dom_mba, closid, CDP_NONE, &user_bw);
+       user_bw = resctrl_arch_get_config(r_mba, dom_mba, closid, CDP_NONE);
        delta_bw = pmbm_data->delta_bw;
        /*
         * resctrl_arch_get_config() chooses the mbps/ctrl value to return
index 89123a4977cfde1d47a61f029c712311850c7465..b57b3db9a6a78ffa2d58e906f2126c208d5d1260 100644 (file)
@@ -923,8 +923,8 @@ static int rdt_bit_usage_show(struct kernfs_open_file *of,
                for (i = 0; i < closids_supported(); i++) {
                        if (!closid_allocated(i))
                                continue;
-                       resctrl_arch_get_config(r, dom, i, s->conf_type,
-                                               &ctrl_val);
+                       ctrl_val = resctrl_arch_get_config(r, dom, i,
+                                                          s->conf_type);
                        mode = rdtgroup_mode_by_closid(i);
                        switch (mode) {
                        case RDT_MODE_SHAREABLE:
@@ -1142,7 +1142,7 @@ static bool __rdtgroup_cbm_overlaps(struct rdt_resource *r, struct rdt_domain *d
 
        /* Check for overlap with other resource groups */
        for (i = 0; i < closids_supported(); i++) {
-               resctrl_arch_get_config(r, d, i, type, (u32 *)&ctrl_b);
+               ctrl_b = resctrl_arch_get_config(r, d, i, type);
                mode = rdtgroup_mode_by_closid(i);
                if (closid_allocated(i) && i != closid &&
                    mode != RDT_MODE_PSEUDO_LOCKSETUP) {
@@ -1222,7 +1222,8 @@ static bool rdtgroup_mode_test_exclusive(struct rdtgroup *rdtgrp)
                        continue;
                has_cache = true;
                list_for_each_entry(d, &r->domains, list) {
-                       resctrl_arch_get_config(r, d, closid, s->conf_type, &ctrl);
+                       ctrl = resctrl_arch_get_config(r, d, closid,
+                                                      s->conf_type);
                        if (rdtgroup_cbm_overlaps(s, d, ctrl, closid, false)) {
                                rdt_last_cmd_puts("Schemata overlaps\n");
                                return false;
@@ -1395,8 +1396,9 @@ static int rdtgroup_size_show(struct kernfs_open_file *of,
                        if (rdtgrp->mode == RDT_MODE_PSEUDO_LOCKSETUP) {
                                size = 0;
                        } else {
-                               resctrl_arch_get_config(r, d, rdtgrp->closid,
-                                                       schema->conf_type, &ctrl);
+                               ctrl = resctrl_arch_get_config(r, d,
+                                                              rdtgrp->closid,
+                                                              schema->conf_type);
                                if (r->rid == RDT_RESOURCE_MBA)
                                        size = ctrl;
                                else
@@ -2724,10 +2726,12 @@ static int __init_one_rdt_domain(struct rdt_domain *d, struct resctrl_schema *s,
                         * with an exclusive group.
                         */
                        if (resctrl_arch_get_cdp_enabled(r->rid))
-                               resctrl_arch_get_config(r, d, i, peer_type, &peer_ctl);
+                               peer_ctl = resctrl_arch_get_config(r, d, i,
+                                                                  peer_type);
                        else
                                peer_ctl = 0;
-                       resctrl_arch_get_config(r, d, i, s->conf_type, &ctrl_val);
+                       ctrl_val = resctrl_arch_get_config(r, d, i,
+                                                          s->conf_type);
                        used_b |= ctrl_val | peer_ctl;
                        if (mode == RDT_MODE_SHAREABLE)
                                cfg->new_ctrl |= ctrl_val | peer_ctl;
index 18dd764af0dd6039b27359f1ac28e0737771f8d4..21deb5212bbdd82e58dac7b4764762c66fffba9b 100644 (file)
@@ -194,8 +194,7 @@ struct resctrl_schema {
 /* The number of closid supported by this resource regardless of CDP */
 u32 resctrl_arch_get_num_closid(struct rdt_resource *r);
 int resctrl_arch_update_domains(struct rdt_resource *r, u32 closid);
-void resctrl_arch_get_config(struct rdt_resource *r, struct rdt_domain *d,
-                            u32 closid, enum resctrl_conf_type type,
-                            u32 *value);
+u32 resctrl_arch_get_config(struct rdt_resource *r, struct rdt_domain *d,
+                           u32 closid, enum resctrl_conf_type type);
 
 #endif /* _RESCTRL_H */