[RFC PATCH 3/7] resctrl: Add a devices file for external requester assignment
Zhanpeng Zhang
zhangzhanpeng.jasper at bytedance.com
Tue Aug 11 19:58:14 PDT 2026
Hi Drew,
On 8/12/26 10:19 AM, Drew Fustini wrote:
> On Tue, Jul 14, 2026 at 09:06:53PM +0800, Zhanpeng Zhang wrote:
>> Do not overload the resctrl tasks file with architecture-specific
>> non-PID tokens. The tasks ABI remains a list of task IDs, while the new
>> devices file carries external requesters assigned to a resctrl group.
>>
>> Add architecture hooks for assigning and showing those external
>> objects, and reject group removal, reparenting, or pseudo-lock setup
>> while devices are still assigned. The teardown path performs a
>> best-effort reset to the default group.
>>
>> The devices file is an assignment interface only. It does not describe
>> a new resource schema or domain; resource allocation and monitoring
>> policy remain described by the existing schemata and info files.
>>
>> Signed-off-by: Zhanpeng Zhang <zhangzhanpeng.jasper at bytedance.com>
>> ---
>> Documentation/filesystems/resctrl.rst | 26 ++++
>> arch/Kconfig | 6 +
>> fs/resctrl/rdtgroup.c | 206 +++++++++++++++++++++++++-
>> include/linux/resctrl.h | 45 ++++++
>> 4 files changed, 280 insertions(+), 3 deletions(-)
> [..]
>> diff --git a/fs/resctrl/rdtgroup.c b/fs/resctrl/rdtgroup.c
>> index af2cbab14497..2e424c911049 100644
>> --- a/fs/resctrl/rdtgroup.c
>> +++ b/fs/resctrl/rdtgroup.c
> [..]
>> @@ -2067,6 +2236,16 @@ static struct rftype res_common_files[] = {
>> .seq_show = rdtgroup_tasks_show,
>> .fflags = RFTYPE_BASE,
>> },
>> +#ifdef CONFIG_ARCH_HAS_RESCTRL_DEVICES
>> + {
>> + .name = "devices",
>> + .mode = 0644,
>> + .kf_ops = &rdtgroup_kf_single_ops,
>> + .write = rdtgroup_devices_write,
>> + .seq_show = rdtgroup_devices_show,
>> + .fflags = RFTYPE_BASE,
>
> Once CONFIG_ARCH_HAS_RESCTRL_DEVICES is built in, the file shows up in
> every resctrl group directory, even on hardware whose IOMMU does not
> implement QOSID. I think it would be better to make fflags zero so
> rdtgroup_add_files() skips it, and enable it at runtime from
> resctrl_init().
>
> Thanks,
> Drew
Good point. The build-time architecture capability is not sufficient to
expose the file. I will look for an appropriate runtime mechanism to
control whether the file is exposed.
Thank you for the careful review. I really appreciate it.
Thanks,
Zhanpeng
More information about the linux-riscv
mailing list