aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/pwm/pwm-stm32.c
diff options
context:
space:
mode:
authorZelin Tong <ztong@ludwig.cs.unc.edu>2020-10-14 06:14:28 -0400
committerTanya Amert <tamert@cs.unc.edu>2020-10-14 20:27:08 -0400
commit2ea98c6d1c38df18555b96afda6607fa9edad72e (patch)
tree937c1ec49a1c238e501a1c7a0639531600fb1ef3 /drivers/pwm/pwm-stm32.c
parentb58595723675d016e7a8e06afcad9be8fd85de3a (diff)
Fixed obscure edge case regarding unlink
Unlink in gedf_reservation would try to unlink a task that's not linked nor in the ready queue. It is in fact in the release queue. This happens when multiple check_for_preemptions occur simultaneously, and causes a task to be "scheduled" on 2 cpu_entries simultaneously while out of budget. Thus, both cpus in update_time replenishes the budget and tries to unlink it. The first one succeeds, while the second fails. For more details on how this occurs, see the comment in update_time in gedf_reservation.c
Diffstat (limited to 'drivers/pwm/pwm-stm32.c')
0 files changed, 0 insertions, 0 deletions