On Sun, Feb 12, 2006 at 08:18:10PM -0500, Will Dyson wrote:
On 2/12/06, Ismael Valladolid Torres <ivalladt(a)punkass.com> wrote:
Then I try horgand. It takes a lot for it to
load, then it sounds
nicely, I get no xruns, but my X Window system becomes unresponsive.
...
How much memory does your machine have? Is it swapping when this
slowdown occurs?
Good question. This really looks like an 'out of memory' problem.
1. The realtime audio thread(s) are as independant of
the GUI as possible.
2. Only the code and data actually needed by those threads would be mlock()ed.
I think most jack apps are already written such that 1 is true, and it
should not be too hard to selectivly mlock() the data buffers used in
the realtime thread. But I don't know how to tell the Linux kernel to
mlock() only the code pages used by a certain thread. Doing that
automaticly seems like a rather hairy technical problem (it may even
be equivalent to solving the halting problem, i.e. impossible).
...
The real solution is to put the UI and RT parts in separate processes.
It's a bit more work, but not so much if you want to have a clean
interface between the two anyway.
--
FA