Files
mckernel/kernel
Shiratori, Takehiro 67f5a1d4e0 migrate-cpu: Prevent migration target from calling schedule() twice
Symptom:
A thread could call schedule() twice.

Cause:
 (1) The migrator raises rescheduling flag
 (2) The thread calls check_need_resched() for other
     reason than the migrate IPI, e.g, response to system call
     offload. And it finds that the flag is set and it's trying to
     call schedule().
 (3) The thread is interrupted by the migrate IPI and it finds that
     the flag is set and calls schedule() in the interrupt context.
 (4) The thread resumes the execution and call schedule()

Solution:
 (1) Reset the rescheduling flag when checking it and it's set
 (2) Set it again if it's decided not to call schedule()

Change-Id: I5376662d0b02ca4ebb29b42732e347f3b82d766d
Refs: #1400
2020-03-05 15:51:28 +09:00
..
2020-03-03 13:23:30 +09:00
2019-12-05 07:08:13 +00:00
2014-03-30 16:14:19 +09:00
2019-08-09 04:00:15 +00:00
2019-12-06 09:30:51 +09:00
2016-03-08 15:19:03 +09:00
2017-09-04 08:53:32 +09:00