[gst-devel] Real Time Workers (SCHED_FIFO)

Florian Schmidt mista.tapas at gmx.net
Tue Aug 7 19:18:11 CEST 2007


On Tuesday 31 July 2007, Stefan Kost wrote:
> Hi,
>
> Esben Stien wrote:
> > Stefan Kost <ensonic at hora-obscura.de> writes:
> >> imho SCHED_FIFO is a process wide seting. Thus if you call
> >> sched_setscheduler(9 for your process this also affects all
> >> gstreamer threads.
> >
> > No, it doesn't.
> >
> > 20070222UTC150506 <wingo> b0ef: it wouldn't matter, the real work is
> > done in another thread
> > 20070222UTC150537 <b0ef> wingo: how about setting that worker thread
> > SCHED_FIFO?
> > 20070222UTC150610 <wingo> b0ef: unfortunately the answer is still no
> > -- realtime + gstreamer still needs design work.
>
> I don't thinks that is right. Have you read the man page for
> sched_setscheduler? "Child processes inherit the scheduling algorithm and
> parameters across a fork()."
>
> If it is even keep for a fork(), threads for sure inherit the setting too.
> Linux implements threads as lightweight processes.

Well sched_setscheduler isn't the only option to alter the scheduling class of 
a linux THREAD (though you can use it with e.g. the result of gettid() 
afaik).

Have a look at pthread_setschedparam() et. al..

Regards,
Flo

-- 
Palimm Palimm!
http://tapas.affenbande.org




More information about the gstreamer-devel mailing list