[Question mpam mpam/snapshot+extras/v6.18-rc1] Question with Configuring iommu_group in 'task'
From: Qinxin Xia
Date: Fri Mar 27 2026 - 06:35:55 EST
Hello everyone!
In earlier versions, mpam supports the configuration of iommu_groups.
823 static ssize_t rdtgroup_tasks_write(struct kernfs_open_file *of,
824 char *buf, size_t nbytes,
loff_t off)
825 {
826 struct rdtgroup *rdtgrp;
827 int iommu_group_id;
828 bool is_iommu;
829 char *pid_str;
830 int ret = 0;
831 pid_t pid;
832
833 rdtgrp = rdtgroup_kn_lock_live(of->kn);
834 if (!rdtgrp) {
835 rdtgroup_kn_unlock(of->kn);
836 return -ENOENT;
837 }
838 rdt_last_cmd_clear();
839
840 if (rdtgrp->mode == RDT_MODE_PSEUDO_LOCKED ||
841 rdtgrp->mode == RDT_MODE_PSEUDO_LOCKSETUP) {
842 ret = -EINVAL;
843 rdt_last_cmd_puts("Pseudo-locking in progress\n");
844 goto unlock;
845 }
846
847 while (buf && buf[0] != '\0' && buf[0] != '\n') {
848 pid_str = strim(strsep(&buf, ","));
849
850 is_iommu = string_is_iommu_group(pid_str, &iommu_group_id);
What puzzles me is why we would put it under 'task'—this seems a little
strange to users.It seems they are not related.Why don't we add a new
interface like 'iommu'?
851 if (is_iommu)
852 ret = rdtgroup_move_iommu(iommu_group_id, rdtgrp, of);
853 else if (kstrtoint(pid_str, 0, &pid)) {
854 rdt_last_cmd_printf("Task list parsing error pid %s\n", pid_str);
855 ret = -EINVAL;
856 break;
857 }
858
859 if (pid < 0) {
860 rdt_last_cmd_printf("Invalid pid %d\n", pid);
861 ret = -EINVAL;
862 break;
863 }
864
In future glue versions, will you re-enable support for iommu_group, and
if so, will the configuration scheme be changed?
--
Thanks,
Qinxin