diff options
author | 2023-09-29 17:09:30 -0700 | |
---|---|---|
committer | 2023-10-09 09:48:33 +0200 | |
commit | b01db23d5923a35023540edc4f0c5f019e11ac7d (patch) | |
tree | d6fd6bedd01a4137f41f4b54cb810022dae1af07 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | sched/eevdf: Fix min_deadline heap integrity (diff) | |
download | wireguard-linux-b01db23d5923a35023540edc4f0c5f019e11ac7d.tar.xz wireguard-linux-b01db23d5923a35023540edc4f0c5f019e11ac7d.zip |
sched/eevdf: Fix pick_eevdf()
The old pick_eevdf() could fail to find the actual earliest eligible
deadline when it descended to the right looking for min_deadline, but
it turned out that that min_deadline wasn't actually eligible. In that
case we need to go back and search through any left branches we
skipped looking for the actual best _eligible_ min_deadline.
This is more expensive, but still O(log n), and at worst should only
involve descending two branches of the rbtree.
I've run this through a userspace stress test (thank you
tools/lib/rbtree.c), so hopefully this implementation doesn't miss any
corner cases.
Fixes: 147f3efaa241 ("sched/fair: Implement an EEVDF-like scheduling policy")
Signed-off-by: Ben Segall <bsegall@google.com>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/xm261qego72d.fsf_-_@google.com
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions