sched-ext / scx

sched_ext schedulers and tools
https://bit.ly/scx_slack
GNU General Public License v2.0
838 stars 78 forks source link

rusty: Make dom_xfer_task() a global prog #366

Closed Byte-Lab closed 3 months ago

Byte-Lab commented 3 months ago

It seems that task_set_domain() is nearly at the point where it can cause the verifier to get confused and think that it's exceeding the number of available instructions per program. I've seen this a number of times when making small changes to task_set_domain(), and it's once again happened @vax-r (I-Hsin Cheng) made a small cleanup change to rusty in https://github.com/sched-ext/scx/pull/362.

To avoid this, let's just make dom_xfer_task() a separate global program so that the verifier doens't have to worry about branch pruning, etc depending on what the caller does. This should hopefully make task_set_domain() (and its callers) much less brittle.