Re: [LAD] Kontakt Spikes

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Paul Davis <paul@...>
Cc: <linux-audio-dev@...>, Clemens Ladisch <clemens@...>
Date: Tuesday, October 25, 2011 - 12:28 am

On 10/11/2011 03:10 PM, Paul Davis wrote:

As promised, here's what I found.

Our Wine provides the following required tweaks:

* Kontakt needs to be able to get and set realtime thread priority with
Get/SetThreadPriority(THREAD_PRIORITY_TIME_CRITICAL)

* Kontakt needs to be able to call Get/SetThreadPriority() without a
trip to the wine server.

* Kontakt's helper threads need to be prevented from running while audio
processing is underway unless there is a core available for them to
process on. For our host, we solved this by running them with
SCHED_FIFO/P-1, where our audio processing threads are running at
SCHED_RR/P. So, if our host is using core1, their threads can run on
core2. But if our host is using both core1 and core2 for audio
processing, they won't wake up until processing is over.

The other crucial piece appears to be improvements to the kernel between
2.6.24 and 2.6.33. We found that even with the thread priorities fixed,
we could mess up kontakt's performance by dropping disk caches (echo 2 >
/proc/sys/vm/drop_caches). That got fixed in 2.6.33, presumably by
improvements in preemtibility.

That was three week's of work! But I'm glad to have got to the bottom of
it. And thanks to the list for helping point me in the right direction.

- Michael Ost
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-dev

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[LAD] Kontakt Spikes, Michael Ost, (Sat Oct 8, 1:26 am)
Re: [LAD] Kontakt Spikes, Clemens Ladisch, (Sat Oct 8, 11:03 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Mon Oct 10, 5:56 pm)
Re: [LAD] Kontakt Spikes, Clemens Ladisch, (Mon Oct 10, 10:05 pm)
Re: [LAD] Kontakt Spikes, Michael Ost, (Tue Oct 11, 12:42 am)
Re: [LAD] Kontakt Spikes, Clemens Ladisch, (Tue Oct 11, 8:24 am)
Re: [LAD] Kontakt Spikes, Clemens Ladisch, (Tue Oct 11, 8:52 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Tue Oct 11, 4:33 pm)
Re: [LAD] Kontakt Spikes, Paul Davis, (Tue Oct 11, 10:10 pm)
Re: [LAD] Kontakt Spikes, Michael Ost, (Tue Oct 25, 12:28 am)
Re: [LAD] Kontakt Spikes, Paul Davis, (Tue Oct 25, 12:36 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Tue Oct 11, 10:25 pm)
Re: [LAD] Kontakt Spikes, Robin Gareus, (Mon Oct 10, 7:05 pm)
Re: [LAD] Kontakt Spikes, Robin Gareus, (Mon Oct 10, 7:09 pm)
Re: [LAD] Kontakt Spikes, Nick Copeland, (Mon Oct 10, 8:37 pm)
Re: [LAD] Kontakt Spikes, Michael Ost, (Mon Oct 10, 8:48 pm)
Re: [LAD] Kontakt Spikes, Fons Adriaensen, (Mon Oct 10, 7:31 pm)
Re: [LAD] Kontakt Spikes, Robin Gareus, (Mon Oct 10, 7:37 pm)
Re: [LAD] Kontakt Spikes, Robin Gareus, (Sat Oct 8, 3:08 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Wed Oct 12, 11:28 pm)
Re: [LAD] Kontakt Spikes, Robin Gareus, (Thu Oct 13, 2:20 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Mon Oct 10, 6:03 pm)
Re: [LAD] Kontakt Spikes, Devin Anderson, (Sat Oct 8, 2:46 am)
Re: [LAD] Kontakt Spikes, Michael Ost, (Mon Oct 10, 7:38 pm)
Re: [LAD] Kontakt Spikes, Devin Anderson, (Mon Oct 10, 8:14 pm)