[PATCH v2 09/14] fs/resctrl: Add last_cmd_status support for writes to max_threshold_occupancy

From: Reinette Chatre

Date: Fri Mar 20 2026 - 18:08:43 EST


info/last_cmd_status is intended to contain more information if a write to
any resctrl file fails. Writes to max_threshold_occupancy did not receive
last_cmd_status support during initial last_cmd_status enabling. Add it now.

Signed-off-by: Reinette Chatre <reinette.chatre@xxxxxxxxx>
Reviewed-by: Ben Horgan <ben.horgan@xxxxxxx>
---
Changes since v1:
- Add Ben's RB tag.
---
fs/resctrl/rdtgroup.c | 21 ++++++++++++++++-----
1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
index 111bff8e33fd..6fa5c8f14e3a 100644
--- a/fs/resctrl/rdtgroup.c
+++ b/fs/resctrl/rdtgroup.c
@@ -1238,16 +1238,27 @@ static ssize_t max_threshold_occ_write(struct kernfs_open_file *of,
unsigned int bytes;
int ret;

+ mutex_lock(&rdtgroup_mutex);
+ rdt_last_cmd_clear();
+
ret = kstrtouint(buf, 0, &bytes);
- if (ret)
- return ret;
+ if (ret) {
+ rdt_last_cmd_puts("Invalid input\n");
+ goto out_unlock;
+ }

- if (bytes > resctrl_rmid_realloc_limit)
- return -EINVAL;
+ if (bytes > resctrl_rmid_realloc_limit) {
+ rdt_last_cmd_printf("Exceeds limit (before adjustment) of %u bytes\n",
+ resctrl_rmid_realloc_limit);
+ ret = -EINVAL;
+ goto out_unlock;
+ }

resctrl_rmid_realloc_threshold = resctrl_arch_round_mon_val(bytes);

- return nbytes;
+out_unlock:
+ mutex_unlock(&rdtgroup_mutex);
+ return ret ?: nbytes;
}

/*
--
2.50.1