Re: [Question mpam mpam/snapshot+extras/v6.18-rc1] Question with Configuring iommu_group in 'task'
From: Ben Horgan
Date: Fri Mar 27 2026 - 06:50:57 EST
Hi Qinxin,
On 3/27/26 10:21, Qinxin Xia wrote:
>
> 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'?
I think it is likely that this interface would change if upstream support is added.
>
> 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?
Please can you let us know about your usecase so that we can get more information to decide
what the best interface would be?
Thanks,
Ben