From: John Dallaway <john@dallaway.org.uk>
To: moktar_bouain <moktarbouain@yahoo.fr>
Cc: eCos Discussion <ecos-discuss@ecos.sourceware.org>
Subject: [ECOS] Re: I have a problem with the priority of ecos
Date: Thu, 14 Apr 2011 07:36:00 -0000 [thread overview]
Message-ID: <4DA6A3E9.10308@dallaway.org.uk> (raw)
In-Reply-To: <31383032.post@talk.nabble.com>
[ moving to ecos-discuss ]
Hi Moktar
moktar_bouain wrote:
> void cyg_user_start(void)
> {
> printf("Entering twothreads' cyg_user_start() function\n");
>
> cyg_mutex_init(&cliblock);
>
> cyg_thread_create(10, taska, (cyg_addrword_t) 0,"Thread A", (void *)
> stack[0], 4096,&simple_threadA, &thread_s[0]);
> cyg_thread_create(0, taskb, (cyg_addrword_t) 1,"Thread B", (void *)
> stack[1], 4096,&simple_threadB, &thread_s[1]);
> }
>
> void main (cyg_addrword_t data)
> {
> for(;;)
> {
> cyg_thread_resume(simple_threadA);
> cyg_thread_resume(simple_threadB);
> }
> }
>
> when I execute this configuration:
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
> TASKB
It looks like the issue is with main() which will run as an eCos thread
at priority 10 by default (CYGNUM_LIBC_MAIN_THREAD_PRIORITY). The bitmap
scheduler will not handle two threads at the same priority correctly.
Assuming you have a good reason to use main() and to restart the
application threads in this way, main() should be of lower priority than
the other threads.
I hope this helps...
John Dallaway
eCos maintainer
http://www.dallaway.org.uk/john
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
next parent reply other threads:[~2011-04-14 7:36 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <31383032.post@talk.nabble.com>
2011-04-14 7:36 ` John Dallaway [this message]
[not found] ` <31383526.post@talk.nabble.com>
[not found] ` <4DA4E806.8000004@mlbassoc.com>
[not found] ` <31383910.post@talk.nabble.com>
2011-04-20 8:40 ` Jürgen Lambrecht
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=4DA6A3E9.10308@dallaway.org.uk \
--to=john@dallaway.org.uk \
--cc=ecos-discuss@ecos.sourceware.org \
--cc=moktarbouain@yahoo.fr \
/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 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).