All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gilles Chanteperdrix <gilles.chanteperdrix@xenomai.org>
To: Roberto Bielli <roberto.bielli@domain.hid>
Cc: xenomai@xenomai.org
Subject: Re: [Xenomai-core] preemptive doesn't work
Date: Tue, 10 Apr 2012 14:40:43 +0200	[thread overview]
Message-ID: <4F842A4B.8040106@domain.hid> (raw)
In-Reply-To: <4F8428AA.1040404@domain.hid>

On 04/10/2012 02:33 PM, Roberto Bielli wrote:
> Il 10/04/2012 13:49, Gilles Chanteperdrix ha scritto:
>> On 04/10/2012 12:39 PM, Roberto Bielli wrote:
>>> Hi Gilles,
>>>
>>> i tried your code but th behavior is the same.
>>>
>>> Then i tried a linux base app and works correctly.
>> In the exact same conditions? With the crunching task running with
>> SCHED_FIFO, priority 1, and the periodic task running with SCHED_FIFO,
>> priority 99, and the linux real-time throttling disabled?
>>
> Yes, and i see that every LATCH ( about ~10ms ) period the task with 
> higher priority is wakeup.
> So a task with lower priority is interrupted by timer interrupt and 
> reschedule the task with higher priority.
> 
The only thing I can think is that the timer interrupt in fact stays 
masked. You can try the following patch:

diff --git a/arch/arm/plat-mxc/irq.c b/arch/arm/plat-mxc/irq.c                  
index 8aee763..7e4cc2e 100644                                                   
--- a/arch/arm/plat-mxc/irq.c                                                   
+++ b/arch/arm/plat-mxc/irq.c                                                   
@@ -94,12 +94,14 @@ EXPORT_SYMBOL(mxc_set_irq_fiq);                             
 static void mxc_mask_irq(unsigned int irq)                                     
 {                                                                              
        __raw_writel(irq, avic_base + AVIC_INTDISNUM);                          
+       __raw_readl(avic_base + AVIC_INTDISNUM);                                
 }                                                                              
                                                                                
 /* Enable interrupt number "irq" in the AVIC */                                
 static void mxc_unmask_irq(unsigned int irq)                                   
 {                                                                              
        __raw_writel(irq, avic_base + AVIC_INTENNUM);                           
+       __raw_readl(avic_base + AVIC_INTENNUM);                                 
 }                                                                              
                                                                                
 static struct irq_chip mxc_avic_chip = {                                       


If I had to debug this issue, I would look at all the timer and 
interrupt controller registers value, to see what is wrong.

You can also try the plain linux example with CONFIG_IPIPE on, but 
without CONFIG_XENOMAI.

Other than that, without access to the board, it is hard for me to 
debug further, so I am afraid you are on your own.

-- 
                                                                Gilles.


  parent reply	other threads:[~2012-04-10 12:40 UTC|newest]

Thread overview: 68+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-02 10:42 [Xenomai-core] Xenomai server down Gilles Chanteperdrix
2012-03-06  7:55 ` [Xenomai-core] preemptive doesn't work Roberto Bielli
2012-03-06  9:22   ` Gilles Chanteperdrix
     [not found]     ` <4F55E390.8090706@domain.hid>
2012-03-06 12:09       ` [Xenomai-help] " Gilles Chanteperdrix
2012-03-06 13:00         ` Roberto Bielli
2012-03-06 13:04           ` Gilles Chanteperdrix
2012-03-06 15:14             ` Roberto Bielli
2012-03-06 15:20               ` Gilles Chanteperdrix
2012-03-06 15:35                 ` Roberto Bielli
2012-03-06 16:16                   ` Gilles Chanteperdrix
2012-03-07 12:59                     ` Roberto Bielli
2012-03-07 13:44                       ` Gilles Chanteperdrix
2012-03-07 18:13                         ` Roberto Bielli
2012-03-13 10:45                           ` [Xenomai-core] Fwd: " Roberto Bielli
2012-03-13 11:44                           ` [Xenomai-core] " Gilles Chanteperdrix
2012-03-13 12:10                             ` Gilles Chanteperdrix
2012-04-04  9:21                           ` Gilles Chanteperdrix
2012-04-04  9:29                             ` Roberto Bielli
2012-04-04  9:45                               ` Gilles Chanteperdrix
2012-04-06 15:35                                 ` Roberto Bielli
2012-04-06 15:40                                   ` Gilles Chanteperdrix
2012-04-06 16:59                                     ` Roberto Bielli
2012-04-07 22:17                                       ` Gilles Chanteperdrix
2012-04-10  8:18                                         ` Roberto Bielli
2012-04-10  8:22                                           ` Gilles Chanteperdrix
2012-04-10  8:43                                         ` Roberto Bielli
2012-04-10  8:45                                           ` Gilles Chanteperdrix
2012-04-10  8:58                                             ` Roberto Bielli
2012-04-10  9:00                                               ` Gilles Chanteperdrix
2012-04-10  9:06                                               ` Gilles Chanteperdrix
2012-04-10  9:11                                                 ` Gilles Chanteperdrix
2012-04-10  9:21                                                   ` Roberto Bielli
2012-04-10  9:27                                                     ` Gilles Chanteperdrix
2012-04-10  9:37                                                     ` Gilles Chanteperdrix
2012-04-10 10:39                                                       ` Roberto Bielli
2012-04-10 11:25                                                         ` Gilles Chanteperdrix
2012-04-10 12:05                                                           ` Roberto Bielli
2012-04-10 12:06                                                             ` Gilles Chanteperdrix
2012-04-10 12:11                                                               ` Roberto Bielli
2012-04-10 12:12                                                                 ` Gilles Chanteperdrix
2012-04-10 12:18                                                                   ` Roberto Bielli
2012-04-10 11:49                                                         ` Gilles Chanteperdrix
2012-04-10 12:33                                                           ` Roberto Bielli
2012-04-10 12:36                                                             ` Gilles Chanteperdrix
2012-04-10 12:58                                                               ` Roberto Bielli
2012-04-10 15:55                                                                 ` Gilles Chanteperdrix
2012-04-10 12:40                                                             ` Gilles Chanteperdrix [this message]
2012-04-11  6:59                                                               ` Roberto Bielli
2012-04-11 11:59                                                                 ` Gilles Chanteperdrix
2012-04-11 12:10                                                                 ` Gilles Chanteperdrix
2012-04-12 10:12                                                                   ` Roberto Bielli
2012-04-12 16:58                                                                     ` [Xenomai-core] porting xenomai on imx25 Roberto Bielli
2012-04-12 17:40                                                                       ` Gilles Chanteperdrix
2012-04-13  8:44                                                                         ` Roberto Bielli
2012-04-13 13:47                                                                           ` Gilles Chanteperdrix
2012-04-18  8:44                                                                             ` Roberto Bielli
2012-04-18  9:19                                                                               ` Gilles Chanteperdrix
2012-04-18 10:28                                                                                 ` Roberto Bielli
2012-04-18 11:51                                                                                   ` Gilles Chanteperdrix
2012-04-19  8:52                                                                                     ` Roberto Bielli
2012-04-19  8:54                                                                                       ` Gilles Chanteperdrix
2012-04-19  9:01                                                                                         ` Roberto Bielli
2012-04-19  9:02                                                                                           ` Gilles Chanteperdrix
2012-04-19 12:11                                                                                             ` Gilles Chanteperdrix
2012-04-12 17:32                                                                     ` [Xenomai-core] preemptive doesn't work Gilles Chanteperdrix
2012-04-10 12:52                                                             ` Gilles Chanteperdrix
2012-04-10  9:19                                                 ` Roberto Bielli
2012-04-10  9:19                                                   ` Gilles Chanteperdrix

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F842A4B.8040106@domain.hid \
    --to=gilles.chanteperdrix@xenomai.org \
    --cc=roberto.bielli@domain.hid \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.