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
