Hi, Gilles.

I could not find "mxc_min_delay = 0xff" in linux source tree 
and xenomai directory. mxc_min_delay comes from ipipe, 
there is also no such statement in latest patch downloaded 
from website.

If mxc_min_delay is 0xff, in my system this means 32us for 8MHz 
ipipe tsc. For a real time system, It seems a little bit longer.

I used mxc_min_delay=16(2us) to do a test during last weekend, 
until now and no stall have happened again. So mxc_min_delay = 0x10 
maybe enough for my test CPU, I can't decide which value should be used.

The following code copy from the time.c file that patched by xenomai.
void __ipipe_mach_set_dec(unsigned long delay)
{
        if (delay > mxc_min_delay) {
                unsigned long tcmp;

                if (!timer_is_v2()) {
                        tcmp = __raw_readl(timer_base + MX1_2_TCN) + delay;
                        __raw_writel(tcmp, timer_base + MX1_2_TCMP);
                } else {
                        tcmp = __raw_readl(timer_base + V2_TCN) + delay;
                        __raw_writel(tcmp, timer_base + V2_TCMP);
                }
        } else
                ipipe_trigger_irq(__ipipe_mach_timerint);
}

My question is whether this function will be interrupted by other high priority 
interrupts.

--
                                                                                
                                                Ma.
-----Original Message-----
From: Gilles Chanteperdrix [mailto:[email protected]] 
Sent: 2012年3月9日 17:11
To: 马强
Cc: [email protected]
Subject: Re: [Xenomai-help] Xenomai stop working

You can try mxc_min_delay = 0xff, since it is what linux does in the
latest release.

-- 
                                                                Gilles.



_______________________________________________
Xenomai-help mailing list
[email protected]
https://mail.gna.org/listinfo/xenomai-help

Reply via email to