Logging/printf's in RT env

Rene Wittmann Rene.B.Wittmann at informatik.stud.uni-erlangen.de
Thu Aug 4 13:45:12 CEST 2005


Hi,

I have also the problem that I want to output some of my symbols+values
during the execution of my application.
Furthermore I'm working in the RT scheduling mode (with APIC one shot
mode).

I have three timeslices:
   1. mandatory
   2. optional
   3. "mandatory" (if part of optional was executed)

The preempter recognizes timeslice overruns and sets a
global variable, the working thread checks this variable and therefore
knows about those "events".

This works fine if my priorites are set to 50,30,50, 
but fails after a few periods with a pagefault if setting the priorities to 
200,190,200.

In each part I use some calls to LOG() to output a few things I'm
interested in. If I leave out those LOG()-calls, it works also with the
high priorites (200,190,200).
So I assume, there's a LOG-buffer overflow (as the LOG priority is not
that high)?

Could I prevent this by using printf instead of LOG or is LOG just a
kind of macro for printf?


Regards,
Rene




More information about the l4-hackers mailing list