diff options
author | John Högberg <[email protected]> | 2018-06-27 10:01:30 +0200 |
---|---|---|
committer | John Högberg <[email protected]> | 2018-06-27 13:08:00 +0200 |
commit | 70dec3aa35165ff0d6ec3cb792ac2b662349a7c2 (patch) | |
tree | 69303be2ea2c6c1ce80303bc8ee42191349589ce /erts/emulator/beam/erl_db.c | |
parent | a09907d56e29b24ded9a34de82bceac7f39021d1 (diff) | |
download | otp-70dec3aa35165ff0d6ec3cb792ac2b662349a7c2.tar.gz otp-70dec3aa35165ff0d6ec3cb792ac2b662349a7c2.tar.bz2 otp-70dec3aa35165ff0d6ec3cb792ac2b662349a7c2.zip |
Move to a dirty scheduler even when we have pending system tasks
When a system task was enqueued on a process between being
scheduled and the check altered in this commit, we'd run dirty
code on a normal scheduler as the RUNNING_SYS flag wasn't set
and we wouldn't migrate back.
This change migrates us to a dirty scheduler instead, which will
immediately bounce us back to a normal scheduler where
RUNNING_SYS will be set appropriately.
This is caught fairly reliably by
process_SUITE:system_task_failed_enqueue on machines with a lot of
cores.
Diffstat (limited to 'erts/emulator/beam/erl_db.c')
0 files changed, 0 insertions, 0 deletions