Messages in this thread | | | Date | Wed, 11 Oct 2023 15:14:54 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched/fair: fix pick_eevdf to always find the correct se |
| |
On Wed, Oct 11, 2023 at 08:12:09PM +0800, Abel Wu wrote:
> The implementation of __pick_eevdf() now is quite complicated which > makes it really hard to maintain. I'm trying my best to refactor this > part, hopefully can do some help. Below is only for illustration, I > need to test more.
Well, the form it has now is somewhat close to the one in the paper. I think Ben added one early break it doesn't have or something.
As the paper explains, you get two walks, one down the eligibility path, and then one down the heap. I think the current code structure represents that fairly well.
Very vague memories seem to suggest I thought to be clever some 10+ years ago when I wrote that other decent loop that Ben showed to be broken (and woe on me for not verifying it when I resurrected the patches, I rewrote pretty much everything else, except this lookup :/).
| |