Hi Tejun,
On Fri, Feb 14, 2020 at 2:17 PM Tejun Heo tj@kernel.org wrote:
I have to agree with Daniel here. My apologies if I weren't clear enough. Here's one interface I can think of:
compute weight: The same format as io.weight. Proportional control of gpu compute.
memory low: Please see how the system memory.low behaves. For gpus, it'll need per-device entries.
Note that for both, there one number to configure and conceptually it's pretty clear to everybody what that number means, which is not to say that it's clear to implement but it's much better to deal with that on this side of the interface than the other.
Can you elaborate, per your understanding, how the lgpu weight attribute differ from the io.weight you suggested? Is it merely a formatting/naming issue or is it the implementation details that you find troubling? From my perspective, the weight attribute implements as you suggested back in RFCv4 (proportional control on top of a unit - either physical or time unit.)
Perhaps more explicit questions would help me understand what you mean. If I remove the 'list' and 'count' attributes leaving just weight, is that satisfactory? Are you saying the idea of affinity or named-resource is banned from cgroup entirely (even though it exists in the form of cpuset already and users are interested in having such options [i.e. userspace OpenCL] when needed?)
To be clear, I am not saying no proportional control. I am saying give the user the options, which is what has been implemented.
cc'ing Johannes. Do you have anything on mind regarding how gpu memory configuration should look like? e.g. should it go w/ weights rather than absoulte units (I don't think so given that it'll most likely need limits at some point too but still and there are benefits from staying consistent with system memory).
Also, a rather trivial high level question. Is drm a good controller name given that other controller names are like cpu, memory, io?
There was a discussion about naming early in the RFC (I believe RFCv2), the consensuses then was to use drmcg to align with the drm subsystem. I have no problem renaming it to gpucg or something similar if that is the last thing that's blocking acceptance. For now, I would like to get some clarity on the implementation before having more code churn.
Regards, Kenny
Thanks.
-- tejun