On 01/17/2013 10:14 AM, Jan Kiszka wrote:
On 2013-01-17 10:12, Philippe Gerum wrote:
On 01/17/2013 09:51 AM, Philippe Gerum wrote:
On 01/17/2013 09:34 AM, Jan Kiszka wrote:
On 2013-01-17 09:26, Philippe Gerum wrote:
On 01/16/2013 08:17 PM, Jan Kiszka wrote:
In the legacy use case, __ipipe_switch_tail will be invoked over the
non-root domain after hardening. So clearing of TASK_HARDENING must
not
be restricted to root.

Signed-off-by: Jan Kiszka <[email protected]>
---

For the case my analysis was right. With this, Xenomai 2.6 works again
here.

    kernel/ipipe/core.c |    2 ++
    1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/kernel/ipipe/core.c b/kernel/ipipe/core.c
index 6929156..4695ba8 100644
--- a/kernel/ipipe/core.c
+++ b/kernel/ipipe/core.c
@@ -1124,7 +1124,9 @@ int __ipipe_switch_tail(void)
        hard_local_irq_disable();
    #endif
        x = __ipipe_root_p;
+#ifndef CONFIG_IPIPE_LEGACY
        if (x)
+#endif
            complete_domain_migration();

    #ifndef CONFIG_IPIPE_WANT_PREEMPTIBLE_SWITCH


The analysis is right. I already fixed this bug in the 3.5 branch, we
are missing a forward port to 3.5.7.

http://git.denx.de/?p=ipipe-2.6.git;a=commit;h=8b11dc5fee73842a24ec4367b57aaa2dcdd67225



Would you push your new version?

Jan

These patches introduced between core-3.5-2 and core-3.5-3 were not
propagated to core-3.5.7. They are on their way now.

ba77ad1 powerpc/ipipe: prevent spurious hw IRQ enabling in activate_mm()
8b11dc5 ipipe: fix domain migration helper
1f0d763 x86_64/ipipe: introduce ipipe_clock_name()


8b11dc5 would reintroduce the issue you saw in legacy mode though. Fix
on its way.

Not sure what you were looking at: 8b11dc5 is part of your public
core-3.5 branch. I was rebasing over it, testing the result and found
his bug.

Jan


We have two bugs in the migration handling in core-3.5.7: one preventing the hardening bit to be cleared in legacy mode when running over the head domain, the other allowing the migration hook to be fired over the head domain. The latter was fixed by 8b11dc5 in core-3.5, but we are missing that fix in core-3.5.7. However, that fix did not address the issue in legacy mode.

The new patch has to cope with both legacy and non-legacy in this area, and made available to 3.2, 3.4, 3.5 and 3.5.7.

--
Philippe.

_______________________________________________
Xenomai mailing list
[email protected]
http://www.xenomai.org/mailman/listinfo/xenomai

Reply via email to