Commit 111136e6 authored by James Morse's avatar James Morse Committed by Borislav Petkov
Browse files

x86/resctrl: Make resctrl_arch_get_config() return its value



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: default avatarBorislav Petkov <bp@alien8.de>
Signed-off-by: default avatarJames Morse <james.morse@arm.com>
Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20210811163831.14917-1-james.morse@arm.com
parent 5c3b63cd
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -427,16 +427,15 @@ ssize_t rdtgroup_schemata_write(struct kernfs_open_file *of,
	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;
+1 −1
Original line number Diff line number Diff line
@@ -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
+12 −8
Original line number Diff line number Diff line
@@ -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;
+2 −3
Original line number Diff line number Diff line
@@ -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 */