Sorry about the urgent flag...
Alex
kbyte at iol.pt
Sat Oct 30 09:43:08 UTC 2004
Sorry mr Thomas and all of you,
I think my email editor stored the urgent flag of the last emails I sent to other people and the editor used the flag again in the mail I sent to rtems mailing list and I dont saw that...
In the future, I will pay more attention to the flag...
Sorry, and thank you...
Alex
----- Mensagem Original -----
De: Thomas Doerfler <Thomas.Doerfler at imd-systems.de>
Data: Sabado, 30 de Outubro de 2004, 10:18
Assunto: Re: [Again] Help: RTEMS Threads, Preemptation and Time slicing...
> Alex,
>
> first of all: would you mind switching the "urgent" flag off,
> when you send mail to the rtems mailing list? I am sure the
> issue is important and maybe also urgent for you, but on a
> mailing list it looks like "read my message first, the others
> are not so important" and I am sure this is not what you really
> want to look like :-)
>
> I am not so familiar with the POSIX API, but I would guess that
> disabling preemption will also disable timeslicing. And, if you
> did not modify your source code after your first mail, your
> system clock driver is still not active, therefore the system
> has no time information and no ability for timeslicing.
>
> wkr,
> thomas.
>
>
> > Thank you to all of you, but let me explain better what I want:
> >
> > I know that my sample code is "dummy", but no problem, what I
> want is to make some threading tests to rtems for i386 arch, so,
> sometimes, the "dummy" projects are the best to test the real
> capabilities of the systems, right?, because, if people always
> write fine and objective programs we never test the system in
> other (dumies, may be :-) ) conditions.
> >
> > So, what I want it to have one thread running (like the "dummy"
> for cicle I wrote) and I wat to see the other thread, executing
> the same dummy code, to enter in the cpu DUE to time slicing. I
> dont want to use bloking instructions like sleeps, "wait for
> single object" and somethings like these.
> > I already tested the rtems threads with this kind of blocking
> instructions and the systems work fine, but now I want to see
> thread switching between threads with same priority, due to time
> slicing.>
> > In my sample program, I think I turned off preemptation and I
> turned on the time slicing right? But the system doesnt switch
> between the threads...
> >
> > Is this a rtems scheduler bug?
> >
> > Is this a bug in my code? (I thing it is, but where?)
> >
> > I am a beginner in rtems and I need help from you...
> >
> >
> > Thanks once again...
> >
> > Alex
> >
> >
> >
> >
> >
> >
> >
> > ----- Mensagem Original -----
> > De: Joel Sherrill joelOARcorpcom <joel.sherrill at OARcorp.com>
> > Data: Quinta-Feira, 28 de Outubro de 2004, 12:24
> > Assunto: Re: Help: RTEMS Threads, Preemptation and Time slicing...
> >
> > > Ian Caddy wrote:
> > > > Hi Alex,
> > > >
> > > > If your threads are the same priority, pre-emption will not
> > > cause one of
> > > > them to stop, as it will only pre-empt for HIGHER priority
> threads.> > >
> > > > In this case, you will need to configure these threads for
> round-
> > > robbin
> > > > (or timeslicing) to achieve what you are asking.
> > > >
> > > > In saying that though, your system design should never, in
> > > practise,
> > > > consist of tasks that are continuously running as no other
> task
> > > of a
> > > > lower priority level will ever get to run in this sort of
> > > system. A
> > > > normal system design will have tasks waiting on things from
> > > other tasks,
> > > > or if not, sleeps that allow the task to yield to lower
> priority
> > > tasks.
> > > I find that often people have threads that either execute much
> quicker> > then the timeslicing quantum or have no scheduling
> points so
> > > unless
> > > timeslicing is enabled, there is no switching.
> > >
> > > Unless you configure the system differently, the timeslice
> quantum
> > > is 10
> > > milliseconds which is a LOT of CPU cycles on most modern CPUs.
> > >
> > > Tasking Design Rule: Find ways for your tasks to naturally
> block
> > > so they
> > > spent most of their life blocked.
> > >
> > > --joel
> > >
> > > > I hope this helps.
> > > >
> > > > regards,
> > > >
> > > > Ian Caddy
> > > >
> > > >
> > > > Alex wrote:
> > > >
> > > >> Hi all,
> > > >> I am making little rtems programs involving threads and the
> > > POSIX API.
> > > >> I want to create a program that launchs 2 threads via posix
> > > calls.
> > > >> Then I want to split the processor attent to both threads,
> i
> > > mean,
> > > >> both threads must execute in "parallel" and not to
> > > >> wait one from another...
> > > >>
> > > >> The RTEMS manual says the scheduler look to the different
> taks
> > > in this
> > > >> order:
> > > >> Priority, preemptation (when activated) and then time
> slicing
> > > (when
> > > >> activated), right?
> > > >>
> > > >> So, in the rtems program I launch the 2 extra threads with
> > > equal
> > > >> priority, priority 1! For each thread, including the main
> > > thread I
> > > >> turn on the preemptation and time slicing, but the
> > > >> second extra thread only starts execution when the first
> extra
> > > thread
> > > >> finishs its execution.
> > > >>
> > > >> I cant understand why... :-(
> > > >>
> > > >> Note: If I use a, for example, the sleep() instruction in
> the
> > > body of
> > > >> the thread, the processor
> > > >> is switch to the other extra thread in a good way, but if i
> > > dont use
> > > >> functions that transfer the
> > > >> execution to other threads, the processor is never switched
> to
> > > other
> > > >> threads...
> > > >> Can you help me? How to execute the 2 extra threads at the
> same
> > > time
> > > >> while the main thread is waiting for the 2 extra threads?
> > > >> by the way, is there any way to turn on preemptation and
> time
> > > slicing
> > > >> using only posix api?
> > > >>
> > > >>
> > >
> > >
> > > --
> > > Joel Sherrill, Ph.D. Director of Research &
> Development> > joel at OARcorp.com On-Line
> Applications Research
> > > Ask me about RTEMS: a free RTOS Huntsville AL 35805
> > > Support Available (256) 722-9985
> > >
> > >
> >
> >
> ________________________________________________________________________________> A protecção do e-mail contra vírus é cada vez mais necessária!
> > Proteja a sua Caixa de Correio:
> http://www.iol.pt/correio/rodape.php?dst=0409301>
>
> --------------------------------------------
> IMD Ingenieurbuero fuer Microcomputertechnik
> Thomas Doerfler Herbststrasse 8
> D-82178 Puchheim Germany
> email: Thomas.Doerfler at imd-systems.de
> PGP public key available at: http://www.imd-
> systems.de/pgp_keys.htm
>
>
________________________________________________________________________________
Um acesso à internet com anti-vírus, bloqueador de janelas e caixa de correio com 21 MB?
IOL. Tem tudo para ser mais simples.
Saiba como instalar: http://www.iol.pt/correio/rodape.php?dst=0409231
More information about the users
mailing list