RE: Reworking push/pull
RE: Reworking push/pull
Posted Sep 19, 2017 1:35 UTC (Tue) by iamsrp (subscriber, #84011)Parent article: Notes from the LPC scheduler microconference
Could the problem be solved via delegation? I.e. something like:
- CPU[k] goes idle
- CPU[k] walks the other CPUs [0..n) to look for the first idle one (possibly itself); CPU[i]
- CPU[k] sends an IPI to CPU[i] requesting that it do the search for a busy CPU
- CPU[i] walks the CPUs [0..n) looking for an overloaded one, CPU[b], and "forwards" the IPI from CPU[k] to CPU[b]
- CPU[i] also remembers "recently" signaled overloaded CPUs and so avoids forwarding subsequent IPIs to them
