[Jack-Devel] How does jackdmp set CPU affinity ?

PrevNext  Index
DateThu, 07 Jul 2011 15:50:56 -0500
From karthik poduval <[hidden] at gmail dot com>
To[hidden] at lists dot jackaudio dot org
Follow-UpStéphane Letz Re: [Jack-Devel] How does jackdmp set CPU affinity ?
Hi All,

I have been reading about jackdmp and how it can run client process
callbacks(that are independent) on different cpu's on an smp machine from
this document.
http://www.grame.fr/Ressources/pub/Jackdmp-lac2005.pdf

I had a couple of questions about it.

1. How does jackdmp assign a process callback thread to a given CPU ? I was
expecting a call to pthread_setaffinity somewhere in the code but did not
find it being used.

2. From which version of jack2 is this mp feature enabled ? I am using
jack1.9.5, is this version mp capable ?

3. Do I need to specify any command line option while starting the jackd to
enable this feature or perhaps set some command line option to waf while
compiling it  ?

I am running jackd on a Linux machine that runs a Fedora 12 distro. The CPU
is a dual core Intel Atom (Intel(R) Atom(TM) CPU D510   @ 1.66GHz).

I checked the cpu assignment for jackd and its clients using the ps command
and found the cpu assignment to vary every time I ran the command.


2853   1  FF     10  50   - jackd -dalsa -P
2857   1  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro (This time all threads on
CPU1)

2853   0  FF     10  50   - jackd -dalsa -P
2857   0  FF      5  45   - jack_multiple_metro
2857   0  FF      5  45   - jack_multiple_metro
2857   0  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro
2857   1  FF      5  45   - jack_multiple_metro (2 threads on CPU 1 and 4 on
CPU0)

-- 
Regards,
Karthik Poduval
PrevNext  Index

1310071881.2212_0.ltw:2,a <CAFP0Ok-Yd=u4qXhGq7qBftqmYrxVZaa9N=S+vzMXAtz-pp8rPw at mail dot gmail dot com>