* [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).