diff options
author | Zelin Tong <ztong@ludwig.cs.unc.edu> | 2020-10-23 00:11:54 -0400 |
---|---|---|
committer | Zelin Tong <ztong@ludwig.cs.unc.edu> | 2020-10-23 00:11:54 -0400 |
commit | a33d3ad7eb411e0a250ca0d73a99b67313c4e28f (patch) | |
tree | 659ca1c3c0e1ec6df7b6bab9384ff7fddcb53d31 /mm/rmap.c | |
parent | 6bb080adebb67a15e5b9206fc390dc9338589836 (diff) |
Fixed Occasional Deadlock when schedulingforbidden-zones
Problem:
When multiple scheduling events occur simultaneously, a situation could
happen where:
- one core schedules a task that is linked to it
- a check_for_preemption occurs due to another scheduling event
- that task is now linked to another core
- the other core tries to schedule it but can't grab the task from the
runqueue of the other core
Solution:
Added in the scheduled_on field in gedf_reservation. This enables us in
link_task_to_cpu to check for this occuring and swap the linking so the
above situation doesn't happen. The code is taken and modified from
link_task_to_cpu in GSN-EDF
Diffstat (limited to 'mm/rmap.c')
0 files changed, 0 insertions, 0 deletions