shkolnick-kun / bugurtos

Breaking backward compatibility since 2010!!!
GNU General Public License v3.0
132 stars 9 forks source link

Sync owner migration #27

Closed shkolnick-kun closed 8 years ago

shkolnick-kun commented 8 years ago

When SYNC_WAKE syscall executed and sync priority changes sync owner gets stopped and then run.

In such cases owner may be scheduled for execution on a new core before SYNC_WAKE processing ends, thus single process becomes current on 2 cores at the same time and process execution gets ruined!

The same thing can be applied to any process, doing some syscall when it's priority gets changed!

SOLUTION: Process migration must be done ONLY in scheduler virtual interrupt!