Re: [RFC PATCH 00/13] Core scheduling v5

From: Joel Fernandes
Date: Thu Jun 25 2020 - 21:47:23 EST


On Thu, Jun 25, 2020 at 4:12 PM Vineeth Remanan Pillai
<vpillai@xxxxxxxxxxxxxxxx> wrote:
[...]
> TODO lists:
>
> - Interface discussions could not come to a conclusion in v5 and hence would
> like to restart the discussion and reach a consensus on it.
> - https://lwn.net/ml/linux-kernel/20200520222642.70679-1-joel@xxxxxxxxxxxxxxxxx

Thanks Vineeth, just want to add: I have a revised implementation of
prctl(2) where you only pass a TID of a task you'd like to share a
core with (credit to Peter for the idea [1]) so we can make use of
ptrace_may_access() checks. I am currently finishing writing of
kselftests for this and post it all once it is ready.

However a question: If using the prctl(2) on a CGroup tagged task, we
discussed in previous threads [2] to override the CGroup cookie such
that the task may not share a core with any of the tasks in its CGroup
anymore and I think Peter and Phil are Ok with. My question though is
- would that not be confusing for anyone looking at the CGroup
filesystem's "tag" and "tasks" files?

To resolve this, I am proposing to add a new CGroup file
'tasks.coresched' to the CGroup, and this will only contain tasks that
were assigned cookies due to their CGroup residency. As soon as one
prctl(2)'s the task, it will stop showing up in the CGroup's
"tasks.coresched" file (unless of course it was requesting to
prctl-share a core with someone in its CGroup itself). Are folks Ok
with this solution?

[1] https://lore.kernel.org/lkml/20200528170128.GN2483@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/
[2] https://lore.kernel.org/lkml/20200524140046.GA5598@xxxxxxxxxxxxxxxxxxxxxxxxx/