public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] interrupts and scheduling
@ 2005-09-02 12:54 Harish Kulkarni
  2005-09-02 13:08 ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Harish Kulkarni @ 2005-09-02 12:54 UTC (permalink / raw)
  To: ecos-discuss

Hello,

We have two interrupts one at every .5msecs(INT1) and
other every 1 msec(INT2).

In our application we have two threads. When INT1 is
enabled/handled the scheduler is not able to schedule
the threads.

Where as when only INT2 is enabled both the threads
get scheduled.

We have tried this using mlq and bit-map. But found
threads scheduling not working when INT1 is enabled.

The INT1 ISR routine execution time taken is 1.3
micro-secs.

The processor ( sparc) runs at 32-MHz.

What could be the possible issue?. How do we go about
debugging the same?.

-Thanks for your time.
harish



Send instant messages to your online friends http://uk.messenger.yahoo.com 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] interrupts and scheduling
  2005-09-02 12:54 [ECOS] interrupts and scheduling Harish Kulkarni
@ 2005-09-02 13:08 ` Andrew Lunn
  2005-09-02 13:18   ` Harish Kulkarni
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Lunn @ 2005-09-02 13:08 UTC (permalink / raw)
  To: Harish Kulkarni; +Cc: ecos-discuss

On Fri, Sep 02, 2005 at 01:54:44PM +0100, Harish Kulkarni wrote:
> Hello,
> 
> We have two interrupts one at every .5msecs(INT1) and
> other every 1 msec(INT2).
> 
> In our application we have two threads. When INT1 is
> enabled/handled the scheduler is not able to schedule
> the threads.
> 
> Where as when only INT2 is enabled both the threads
> get scheduled.
> 
> We have tried this using mlq and bit-map. But found
> threads scheduling not working when INT1 is enabled.
> 
> The INT1 ISR routine execution time taken is 1.3
> micro-secs.

Are your ISR & DSR functions doing things they are not allowed to do?
ISRs cannot call any eCos kernel functions. DSRs cannot call any
functions which block.

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] interrupts and scheduling
  2005-09-02 13:08 ` Andrew Lunn
@ 2005-09-02 13:18   ` Harish Kulkarni
  2005-09-02 13:38     ` Andrew Lunn
  0 siblings, 1 reply; 5+ messages in thread
From: Harish Kulkarni @ 2005-09-02 13:18 UTC (permalink / raw)
  To: ecos-discuss

Hello,

We are using cyg_interrupt_mask(), cyg_interrupt_ack()
and cyg_interrupt_unmask().

And doing nothing but some debug variable increaments.

-Thanks
Harish

--- Andrew Lunn <andrew@lunn.ch> wrote:

> On Fri, Sep 02, 2005 at 01:54:44PM +0100, Harish
> Kulkarni wrote:
> > Hello,
> > 
> > We have two interrupts one at every .5msecs(INT1)
> and
> > other every 1 msec(INT2).
> > 
> > In our application we have two threads. When INT1
> is
> > enabled/handled the scheduler is not able to
> schedule
> > the threads.
> > 
> > Where as when only INT2 is enabled both the
> threads
> > get scheduled.
> > 
> > We have tried this using mlq and bit-map. But
> found
> > threads scheduling not working when INT1 is
> enabled.
> > 
> > The INT1 ISR routine execution time taken is 1.3
> > micro-secs.
> 
> Are your ISR & DSR functions doing things they are
> not allowed to do?
> ISRs cannot call any eCos kernel functions. DSRs
> cannot call any
> functions which block.
> 
>         Andrew
> 


Send instant messages to your online friends http://uk.messenger.yahoo.com 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] interrupts and scheduling
  2005-09-02 13:18   ` Harish Kulkarni
@ 2005-09-02 13:38     ` Andrew Lunn
  0 siblings, 0 replies; 5+ messages in thread
From: Andrew Lunn @ 2005-09-02 13:38 UTC (permalink / raw)
  To: Harish Kulkarni; +Cc: ecos-discuss

On Fri, Sep 02, 2005 at 02:18:20PM +0100, Harish Kulkarni wrote:
> Hello,
> 
> We are using cyg_interrupt_mask(), cyg_interrupt_ack()
> and cyg_interrupt_unmask().
> 
> And doing nothing but some debug variable increaments.

That sounds OK.

How did you make your timing measurements for the ISR?

        Andrew

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ECOS] interrupts and scheduling
@ 2005-09-04  7:32 keshava
  0 siblings, 0 replies; 5+ messages in thread
From: keshava @ 2005-09-04  7:32 UTC (permalink / raw)
  To: ecos-discuss

>
>
>That sounds OK.
>
>How did you make your timing measurements for the
ISR?
>
>        Andrew

We have a timer which is driven by a 32Mhz clock. It
has a timer count register which decrements every
clock cycle. By, measuring the difference in timer
count between the begining of  the ISR routine and the
end , we were able to measure the time. Timer count
decrements every 31.5 nanosecs. The difference in
count was 41. So, 41 * 30.5 comes close to 1.3
microsecs.

regards,
keshav

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2005-09-04  7:32 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-02 12:54 [ECOS] interrupts and scheduling Harish Kulkarni
2005-09-02 13:08 ` Andrew Lunn
2005-09-02 13:18   ` Harish Kulkarni
2005-09-02 13:38     ` Andrew Lunn
2005-09-04  7:32 keshava

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).