Re: [Jack-Devel] JACK thread priorities on different OSes (Was: Installers for Jack 1.9.8...)

PrevNext  Index
DateFri, 13 May 2011 18:08:49 +0200
From Tommaso Cucinotta <[hidden] at sssup dot it>
ToDavid Nielson <[hidden] at comcast dot net>
Cc[hidden] at lists dot jackaudio dot org
In-Reply-ToDavid Nielson [Jack-Devel] JACK thread priorities on different OSes (Was: Installers for Jack 1.9.8...)
Follow-UpStéphane Letz Re: [Jack-Devel] JACK thread priorities on different OSes (Was: Installers for Jack 1.9.8...)
Il 12/05/2011 08:20, David Nielson ha scritto:
> On 05/12/2011 12:13 AM, Stéphane Letz wrote:
>>
>> - concerning OSX: as I said there is no priority setting in the RT 
>> class. But this is more "reservation" like approach, Basically a 
>> period, a "uninteruptible computation grain", and a "constraint" 
>> (which is basically equals to the period.

For what it matters, this kind of model is the same that we need to 
exploit the deadline-based scheduler we're experimenting on Linux 
(presented during the last LAC): we identified the resource requirements 
of jackd and all of the involved client threads, in terms of how much 
computation-time is needed every period, and we've set-up parameters 
into the scheduler accordingly.
AFAICS, currently this fComputation value is set-up statically to a 
random value ("500*1000"), or sometimes computed in a way I hope 
somebody can explain:

   driver->fEngineControl->fComputation = 
driver->fEngineControl->fPeriod * driver->fComputationGrain;

Perhaps there's a chance to reuse a part of this deadline-based work on 
Linux also for setting up some more meaningful values on OS-X. However, 
that needs to be crossed with info about what the kernel actually does 
with those parameters. With Linux, that was easy: the whole set of 
threads were getting (at least) that required computation-time every period.

>> Periodic tasks (like the audio ones) have to defines their period, 
>> MIDI task don"t need that (period = 0).

Probably I don't know much about how MIDI is coming in the loop: when 
are MIDI clients "polled" by Jack, as compared to the periodic main 
audio cycle ?
If I have both a MIDI-enabled and an audio-enabled client, let's say a 
synthesizer (MIDI inputs and audio outputs), then does it have now 2 
jack threads (one activated for processing MIDI the other for audio) ?

Thanks,

     T.

-- 
Tommaso Cucinotta, Computer Engineering PhD, Researcher
ReTiS Lab, Scuola Superiore Sant'Anna, Pisa, Italy
Tel +39 050 882 024, Fax +39 050 882 003
http://retis.sssup.it/people/tommaso
PrevNext  Index

1305302953.20656_0.ltw:2,a <4DCD5791.4050202 at sssup dot it>