On 2011-06-17 12:55, Gilles Chanteperdrix wrote:
> On 06/17/2011 11:26 AM, Jan Kiszka wrote:
>> Our current interrupt handlers assume that they leave over the same task
>> and CPU they entered. But CONFIG_XENO_HW_UNLOCKED_SWITCH and commit
>> f6af9b831c broke this assumption: xnpod_schedule invoked from the
>> handler tail can now actually trigger a domain migration
> What unlocked context swith introduce from my point of view is simply
> sections where interrupt happen which do not reschedule.
> f6af9b831c introduce a rescheduling point, but does not change what
> happens during the interrupt handler either.
> So, I do not really understand this commit message. Either we can assume
> that interrupt handlers migrate tasks or not, but this does not seem to
> have anything to do with unlocked context switches or commit f6af9b831c.
It has: Task is about to relax, re-enables interrupts in
xnpod_resume_thread, IRQ hits, handler is entered over the relaxing RT
task, xnpod_schedule in its tail performs the switch to root, which then
continues to relaxed task, IRQ tail resumes over a different task, on
SMP potentially also on a different CPU. I can send you a the trace if
you want to have a closer look.
Siemens AG, Corporate Technology, CT T DE IT 1
Corporate Competence Center Embedded Linux
Xenomai-core mailing list