On Mon, 2009-11-09 at 19:50 +0100, Jan Kiszka wrote:
> Gilles Chanteperdrix wrote:
> > Jan Kiszka wrote:
> >> Gilles Chanteperdrix wrote:
> >>> Jan Kiszka wrote:
> >>>> Hi Philippe,
> >>>>
> >>>> just noticed: The __ipipe_check_percpu_access of __ipipe_get_cpu_var,
> >>>> added in 2.6.29, makes ipipe_test_pipeline_from unusable for debugging
> >>>> purposes. It now triggers a false positive warning if the caller did not
> >>>> disabled interrupts or stalled its pipeline. One such user under Xenomai
> >>>> is rthal_local_irq_disabled, and that is used to check RTDM driver
> >>>> handlers /wrt leaking IRQ masks.
> >>> It does not look like a false positive. If the task issuing the call to
> >>> rthal_local_irq_disabled function was migrated at the wrong time, it
> >>> could check the stall flag on the wrong cpu.
> >> Unless you want to test the migration logic itself, a plain task in
> >> whatever domain should never see a CPU-depend rthal_local_irq_disabled -
> >> migration should never alter the context in this respect.
> >>

A plain task over the root domain which is subject to a migration may
end up testing the stall bit on the wrong (dest) CPU, which may execute
a different domain than the one running on the source CPU. As soon as
the domain is not a context invariant, you do have a serious issue
coming up. So this does matter a lot, as the bug fixed some time ago in
ipipe_check_context() showed.

> >>> So, it looks like
> >>> rthal_local_irq_disabled should be fixed to turn off irqs during the 
> >>> check.
> >>>
> >> Would work, but would also be more heavy-weighted then needed.
> > 
> > If it is debug stuff, does the heavy-weight matter that much?
> > 
> 
> Actually, I'm no longer sure that a preemption check for
> ipipe_stall_pipeline_from makes sense at all. Am I missing some case?
> 

Same as above. Albeit there may not be forced CPU migration over the
Xenomai domain, this is perfectly possible on the root one.

> Jan
> 


-- 
Philippe.



_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main

Reply via email to