diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-11 13:48:36 -0400 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-09-11 13:48:36 -0400 |
commit | dc4e192937c56771ace227075e10b97f42eedae4 (patch) | |
tree | b2ef543a6629726237234fe85423eda1518ec9f2 /fs/nfsd/lockd.c | |
parent | d3c32e91e3fce2a57083a734efae6d9de06ec02f (diff) |
Fixed bug in edf_higher_prio().prop/robust-tie-break
The rewrite of edf_higher_prio() introduced a bug. When ALL other
tie-breaks fail (even PIDs are equal), edf_higher_prio() is supposed
to prioritize the task that has an inherited priority. (At least
one task must have an inherited priority, due to checks earlier in
the function.) However, the rewrite does the inheritance check
on the inherited priority (second_task), not the original task (second).
This bug can cause G-EDF to fall into an infinite loop in
check_for_preemptions() as scheduling decisions thrash.
Diffstat (limited to 'fs/nfsd/lockd.c')
0 files changed, 0 insertions, 0 deletions