OosplFly: The results I posted are when looping a test track that triggers a few xruns (they were actual xruns occuring when the measurement was done).
But you’re right, it won’t mean much unless ran in smp mode, I have to study properly those options and runs better measurements.
How do you make jack be higher in prio than renoise? At my sys renoise will have some prio below jack, but also fire up threads at the highest prio it can which will be above jack and all drivers, and seem to be the dsp worker threads.
It was not, it behaves exactly as you describe. I was referring to the priority of the first Renoise thread. The threads we assume being for dsp are higher.
On my system with max RTPrio at 99, Renoise climbs up to 96.
Here’s how it looks in Htop sorted by Priority (I’m not on my system right now so this is from memory):
…
96 Renoise
96 Renoise
96 Renoise
96 Renoise
90 Jackd
85 Renoise
…
I tried to run cyclistest both higher and lower to see what was competing with what. I think the results already reflect that higher get served first.
In order to have jackd running higher than all Renoise threads: just set the prio of jackd in qjackctl to the max rtprio allowed by the system (that would be 99 in my case), and Renoise threads will all go underneath. The problem is that this doesn’t actually help with performance - quite the opposite.
I never managed to gain anything by raising jackd too high, or trying to outsmart the kernel’s scheduler
For the same reason, I am not using rtirq to bump the priority of the irq thread where my soundcard is (there is no sharing/conflict on that bus btw).
The best results I could get were by enabling irq threading and then…not touching them.
Also, when xruns occurs, the jack messages clearly point to Renoise (“client Renoise could not finish” or sth like that).
So, as I understand, this is more about finding the sweet spot where Renoise threads will be served soon enough, but not steal too much from jackd. Maybe I could try to lower a bit jack’s priority but I don’t expect any more dramatic improvements.
Is there any logging/debug option to launch Renoise that I should know of? Something that would print out where the ball gets dropped when an xrun caused by Renoise occurs?