Re: [PATCH v10 09/10] x86/resctrl: Add support for the files for MON groups only

From: Ilpo Järvinen
Date: Fri Sep 29 2023 - 11:59:53 EST


On Fri, 15 Sep 2023, Babu Moger wrote:

> There are 3 types resctrl root files.
> 1. RFTYPE_BASE : Files common for both MON and CTRL groups
> 2. RFTYPE_BASE | RFTYPE_CTRL : Files only for CTRL groups
> 3. RFTYPE_BASE | RFTYPE_MON : Files only for MON groups
>
> Files only for the MON groups are not supported now. Add the
> support to create these files.
>
> Signed-off-by: Babu Moger <babu.moger@xxxxxxx>
> ---
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 15 +++++++++++----
> 1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index 953b082cec8a..55d1b90f460e 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -2533,6 +2533,7 @@ static void schemata_list_destroy(void)
> static int rdt_get_tree(struct fs_context *fc)
> {
> struct rdt_fs_context *ctx = rdt_fc2context(fc);
> + unsigned long flags = RFTYPE_CTRL_BASE;
> struct rdt_domain *dom;
> struct rdt_resource *r;
> int ret;
> @@ -2563,7 +2564,10 @@ static int rdt_get_tree(struct fs_context *fc)
>
> closid_init();
>
> - ret = rdtgroup_add_files(rdtgroup_default.kn, RFTYPE_CTRL_BASE);
> + if (rdt_mon_capable)
> + flags |= RFTYPE_MON;
> +
> + ret = rdtgroup_add_files(rdtgroup_default.kn, flags);
> if (ret)
> goto out_schemata_free;
>
> @@ -3253,8 +3257,8 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
> enum rdt_group_type rtype, struct rdtgroup **r)
> {
> struct rdtgroup *prdtgrp, *rdtgrp;
> + unsigned long files = 0;
> struct kernfs_node *kn;
> - uint files = 0;
> int ret;
>
> prdtgrp = rdtgroup_kn_lock_live(parent_kn);
> @@ -3306,10 +3310,13 @@ static int mkdir_rdt_prepare(struct kernfs_node *parent_kn,
> goto out_destroy;
> }
>
> - if (rtype == RDTCTRL_GROUP)
> + if (rtype == RDTCTRL_GROUP) {
> files = RFTYPE_BASE | RFTYPE_CTRL;
> - else
> + if (rdt_mon_capable)
> + files |= RFTYPE_MON;
> + } else {
> files = RFTYPE_BASE | RFTYPE_MON;
> + }
>
> ret = rdtgroup_add_files(kn, files);
> if (ret) {
>

Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx>

--
i.