Commit acb64f38 authored by Zeng Heng's avatar Zeng Heng
Browse files

arm64/mpam: support resctrl fs to show mounting option

hulk inclusion
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I91UCV


CVE: NA

----------------------------------------

Support to display MPAM mounting options:

  # mount -t resctrl resctrl /sys/fs/resctrl/ -o cdpl3,mbMin,mbMax,mbHdl,caPbm
  # mount | grep resctrl
  resctrl on /sys/fs/resctrl type resctrl (rw,relatime,cdpl3,caPbm,mbMax,mbMin,mbHdl)

Signed-off-by: default avatarZeng Heng <zengheng4@huawei.com>
parent df46ea01
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -412,10 +412,7 @@ void resctrl_resource_reset(void);

int resctrl_group_init_alloc(struct rdtgroup *rdtgrp);

static inline int __resctrl_group_show_options(struct seq_file *seq)
{
	return 0;
}
int __resctrl_group_show_options(struct seq_file *seq);

int resctrl_update_groups_config(struct rdtgroup *rdtgrp);

+34 −0
Original line number Diff line number Diff line
@@ -1015,3 +1015,37 @@ int resctrl_update_groups_config(struct rdtgroup *rdtgrp)

	return ret;
}

int __resctrl_group_show_options(struct seq_file *seq)
{
	struct resctrl_resource *res;
	struct raw_resctrl_resource *r;

	res = mpam_resctrl_get_resource(RDT_RESOURCE_L3);
	if (res && res->cdp_enable)
		seq_puts(seq, ",cdpl3");

	res = mpam_resctrl_get_resource(RDT_RESOURCE_L2);
	if (res && res->cdp_enable)
		seq_puts(seq, ",cdpl2");

	r = mpam_get_raw_resctrl_resource(RDT_RESOURCE_L3);
	if (r && r->ctrl_features[SCHEMA_PBM].enabled)
		seq_puts(seq, ",caPbm");
	if (r && r->ctrl_features[SCHEMA_MAX].enabled)
		seq_puts(seq, ",caMax");
	if (r && r->ctrl_features[SCHEMA_PRI].enabled)
		seq_puts(seq, ",caPrio");

	r = mpam_get_raw_resctrl_resource(RDT_RESOURCE_MC);
	if (r && r->ctrl_features[SCHEMA_MAX].enabled)
		seq_puts(seq, ",mbMax");
	if (r && r->ctrl_features[SCHEMA_MIN].enabled)
		seq_puts(seq, ",mbMin");
	if (r && r->ctrl_features[SCHEMA_HDL].enabled)
		seq_puts(seq, ",mbHdl");
	if (r && r->ctrl_features[SCHEMA_PRI].enabled)
		seq_puts(seq, ",mbPrio");

	return 0;
}