[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

I have a problem with the scheduler on a PPC



I am running 2.4.0-test1 kernel with rtlinux-3.0-pre6e and/or
rtlinux-3.0-pre6e and have the following loop:

        pthread_make_periodic_np(pthread_self(), gethrtime(),
period*1000);

        while(1) {
                pthread_wait_np();
                TESTBIT_ON();
                TESTBIT_OFF();

        }

where period = 100 (100 usec).  The TESTBIT_ON/TESTBIT_OFF macros do a
single ISA bus I/O to turn on and off the voltage on a test pin which I
can then look at with a scope.  I would expect to see something like
this:

__
__                                                   __
|  |_____________________________|  |_____________________________|


but instead I see this

__     __                                        __
__                                          __
|  |___|_|_______________________|  |___|_|_______________________|

          ^                                                   ^
These pulses appear 3.338 usecs after the initial pulses, but are
intermittant (i.e. about 5 times/second)

They can only be generated if pthread_wait_np() returns immediately and
does not wait for the 100 usec.

Has anyone else seen this?  We are on an 8240 platform of our own
design.

Robert Kavaler