Messages in this thread | | | From | Joel Fernandes <> | Subject | Re: Sum of weights idea for CFS PI | Date | Sat, 8 Oct 2022 11:04:52 -0400 |
| |
> On Oct 6, 2022, at 3:40 PM, Youssef Esmat <youssefesmat@google.com> wrote: > [..] >> >>> Anyway - just trying to explain how I see it and why C is unlikely to be taking >>> too much time. I could be wrong. As Youssef said, I think there's no >>> fundamental problem here. >> >> I know on Android where they use smaller HZ, the large tick causes >> lots of problems for large nice deltas. Example if a highly niced task >> was to be preempted for 1ms, and preempts instead at 3ms, then the >> less-niced task will not be so nice (even less nice than it promised >> to be) any more because of the 2ms boost that the higher niced task >> got. This can lead the the sched_latency thrown out of the window. Not >> adjusting the weights properly can potentially make that problem much >> worse IMO. > > Once C releases the lock it should get adjusted and A will get > adjusted also regardless of tick. At the point we adjust the weights > we have a chance to check for preemption and cause a reschedule.
Yes but the lock can be held for potentially long time (and even user space lock). I’m more comfortable with Peter’s PE patch which seems a more generic solution, than sum of weights if we can get it working. I’m studying Connor’s patch set now…
> If C doesn't release the lock quickly (hopefully rare), it should > continue to run at the adjusted weight since it is still blocking A.
We can’t depend on rare. Even one bad instance is a fail. So if lock holder and releaser go crazy, we can’t destabilize the system. After all, this is CFS and fairness should not be broken, even if rarely.
Thanks.
> >> >> Thanks.
| |