Re: jackd and realtime priority

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

 



Fernando Lopez-Lezcano wrote:

On Sat, 2006-02-25 at 02:44 -0500, Hector Centeno-Garcia wrote:
Hi,

I've been playing around a little with the priority thing. I would like to understand better the way it works. Looking at the priority of jackd (running realtime, as user, and with a RT kernel, full-preemption) I can't figure out why if I start jackd with -P 60 (or any other number > 0) the output of chrt is always:

$ chrt -p (jackd's pid)
pid 8115's current scheduling policy: SCHED_OTHER
pid 8115's current scheduling priority: 0

I checked this in two different distros (FC4+CCRMA and Ubuntu with custom RT kernel) and the result is the same. Is it not supposed to read:

$ chrt -p 8115
pid 8115's current scheduling policy: SCHED_FIFO (maybe?)
pid 8115's current scheduling priority: 60

I know that I can set this manually, but I'm just wondering what is the real effect of the -P flag.

Any help will be appreciated,

Assuming you did start Jack with the "-R" option you are probablyk
looking at the main Jack process and that is actually SCHED_OTHER. Jack
has more threads and some of them are SCHED_FIFO.
Do this:
 ls /proc/(jack's pid)/tasks
and you will see the pids of the other threads (I'm sure there must be a
more elegant way of finding this info)

A chrt of those will show something like this:

$ for pid in `ls /proc/27701/task/` ; do chrt -p $pid ; done
pid 27701's current scheduling policy: SCHED_OTHER
pid 27701's current scheduling priority: 0
pid 27702's current scheduling policy: SCHED_OTHER
pid 27702's current scheduling priority: 0
pid 27703's current scheduling policy: SCHED_OTHER
pid 27703's current scheduling priority: 0
pid 27704's current scheduling policy: SCHED_FIFO
pid 27704's current scheduling priority: 72
pid 27705's current scheduling policy: SCHED_FIFO
pid 27705's current scheduling priority: 62

And there you have the rt threads...
-- Fernando


Aaaaah! I see! Yes, I was starting jackd with the -R flag... but I didn't know jackd had more than one thread running at the same time. This is what I get:

hector@Hector:~$ for pid in `ls /proc/8260/task/` ; do chrt -p $pid ; done
pid 8260's current scheduling policy: SCHED_OTHER
pid 8260's current scheduling priority: 0
pid 8261's current scheduling policy: SCHED_OTHER
pid 8261's current scheduling priority: 0
pid 8262's current scheduling policy: SCHED_FIFO
pid 8262's current scheduling priority: 80
pid 8263's current scheduling policy: SCHED_FIFO
pid 8263's current scheduling priority: 70


Thank you Fernando and Florian.

Hector.

[Index of Archives]     [Linux Sound]     [ALSA Users]     [Pulse Audio]     [ALSA Devel]     [Sox Users]     [Linux Media]     [Kernel]     [Photo Sharing]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux