Thread (3 messages) 3 messages, 2 authors, 2004-10-01

Re: Embedded Linux, pthreads and scheduling

From: Jaap-Jan Boor <hidden>
Date: 2004-10-01 07:13:16

Steve,

On 30-sep-04, at 19:39, Stephen Williams wrote:
[This is probably not unique to ppc linux, but it is imbedded
and I am running linux on an embedded pc in this case...]

I have a multi-threaded (pthreads) application running on an
embedded PPC. One of the threads operates a scanner video input,
and I want to give it (and only it) high priority, so that if
a device driver wakes it up, it is scheduled as close to "now"
as possible.

I code the thread in question to capp pthread_setschedparam
to set its policy to SCHED_FIFO and the priority to some
number >0. I'm using glibc-ppc_4xx-2.3.1 as packaged in the
Denx ELDK-3.0. Can I expect this to work? Is any priority >0
enough to get it priority over other threads, or do I need
to give it a high (i.e. 99) priority to get past the sliding
priorities of threads with default scheduling?
yes, if you run this program as root a priority >1 and class
SCHED_FIFO should work as expected.
For the particular case I'm seeing, it seems to *not* have
any effect. My interrupt handler is activated (I see on the
scope) and in the first few cases the response is immediate,
but sometimes the response is delayed significantly.
Possible. What kernel version do you use? In my experience
a 2.4.x kernel with O(1) scheduler, preemptible kernel patch and low
latency patch still have significant delays (> 5 ms) sometimes.
A 2.4 kernel without these patches can have much longer response times.
I didn't experiment with the 2.6 kernel on this particular
system yet but 2.6 includes the O(1) scheduler and preemtible
kernel patch.

By the way, do you not share a lock with a lower priority thread?
If the lower priority thread has the lock, your high priority
thread needs to wait until it's finished (unlocks).

Jaap-Jan
Where
I look for the problem may depend on whether the collective
understanding is that the SCHED_FIFO has the effect I expect.

-- 
Steve Williams                "The woods are lovely, dark and deep.
steve at icarus.com           But I have promises to keep,
http://www.icarus.com         and lines to code before I sleep,
http://www.picturel.com       And lines to code before I sleep."

_______________________________________________
Linuxppc-embedded mailing list
Linuxppc-embedded@ozlabs.org
https://ozlabs.org/mailman/listinfo/linuxppc-embedded
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help