Re: timing errors

[email protected] Thu, 4 Jan 2007 17:05:40 +0100 (CET)
Newsgroups gmane.linux.real-time.rtlinux.general
Message-ID <[email protected]>
> Hello again,
> I have ran the examples/measurement test and the results are not so
> consistent as seen below.
>
> ACPI and Power Management support was disabled from kernel. Test environment 
> is:
> rtlinux-3.2-pre3
> prepatched-linux-2.4.29
> pentium mobile 2 ghz cpu
>
> absolute = 0;
> mode = 0;
> advance = 0;
> bperiod = 0;
>
> also commented negatif sign check of diff :
> /*if (diff < 0) {
> diff = -diff;
> }*/
>
> Now starting the application
> The "min" is the smallest timing error
> A negative value means that the task ran too early
> The "max" is the largest timing error
> min:     -608, max:      768

negative min does not mean the task ran too early - as the diff is the
current run - last run if the last run was late then you get a negative
value even if the run is on time - There are no early runs as the pit/tsc
is set to run at X it will not trigger the interrupt before X and thus it
will always be "late" unless you used the "advance" (which you did not).

> min:     -192, max:      320
> min:     -192, max:      224
> min:     -192, max:      192
> min:  -260480, max:   260608

Thats a clear indication of this hardware having a problem - not sure
about the PentiumMs frequency scalling - if it does due frequency
scaling then RTLinux will not be able to handle this.

> min:     -192, max:      192
> min:     -192, max:      192
> min:     -160, max:      192
> min:     -192, max:      224
> min:     -320, max:      288
> min:   -30176, max:    30112
> min:     -192, max:      256
> min:  -297280, max:   297184
> min:     -160, max:      224
> min:     -160, max:      192
> min:     -192, max:      160
> min:     -160, max:      128
> min:     -192, max:      224
> min:   -62368, max:    62496
> min:     -192, max:      192
> min:  -296320, max:   296320
> min:     -192, max:      224
> min:     -192, max:      224
> min:     -192, max:      224
> min:     -192, max:      160
> min:     -192, max:      224
> min:   -84992, max:    85056
> min:     -192, max:      160
> min:  -324576, max:   324736
> min:     -160, max:      192
> min:     -192, max:      224
> min:     -192, max:      320
> min:     -160, max:      224
> min:     -192, max:      352
> min:     -192, max:      192
>
> Why so big values among them? I have tested same code on a platform
> with pentium IV 2Ghz and results are not better but consistent.
>

ok PIV I get very bad results as well - which is definitly due to
the CPU throtling that the PIV needs to not be toasted imediately - in
fact it changes the CPU speed every 125ms as far as I know (atleast the
one we tested on) and the bios did not allow disabling this "feature"

I would strongly suspect that you will see more or less the same jitter
values if you have your application running or not - on my PIV I get these
large values on an idle system as well - could you check ?

hofrat
_______________________________________________
Rtl mailing list
[email protected]
http://hq.fsmlabs.com/mailman/listinfo/rtl
http:/www.rtlinux-gpl.org/