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
1305302953.20656_0.ltw:2,a <4DCD5791.4050202 at sssup dot it>