Messages in this thread | | | Date | Mon, 24 May 2010 20:46:55 +0530 | From | Srivatsa Vaddagiri <> | Subject | Re: [PATCH] Make sure timers have migrated before killing migration_thread |
| |
On Mon, May 24, 2010 at 03:28:45PM +0200, Peter Zijlstra wrote: > On Mon, 2010-05-24 at 15:29 +0530, Amit K. Arora wrote: > > since _cpu_up() and _cpu_down() can never run in > > parallel, because of cpu_add_remove_lock. > > Ah indeed. I guess your initial patch works then.
One thing I found surprising was that a cpu's rt-bandwidth renewal could be dependant on another cpu's (rt-bandwidth) timer firing ontime. In this case, we had migration/23 pulled over to CPU0 and we hung later waiting for migration/23 to exit. migration/23 was not exiting because it could not run on CPU0 (as CPU0's rt-bandwidth had expired). This situation remained forever. I would have expected CPU0's bandwidth to have been renewed independent of some timer on CPU23 to fire - maybe I am missing something not obvious in the code?
- vatsa
| |