Messages in this thread | | | Date | Mon, 16 Aug 2004 04:50:51 +0200 | From | Ingo Molnar <> | Subject | Re: [patch] voluntary-preempt-2.6.8.1-P0 |
| |
* Lee Revell <rlrevell@joe-job.com> wrote:
> I believe the constant-time behavior that I reported was an artifact > of ALSA xrun debugging. Now it seems like the latency produced *does* > correspond directly to the amount of memory being mlockall'ed. If > ./mlockall-test 1500 triggers an xrun at all it's ~0.2ms. 3000 > triggers a ~1ms xrun, and 10000 a ~3 ms xrun.
ah ...
could this be some DMA starvation effect? Or is this xrun calculated from arrival of the audio interrupt (hence DMA completion) to the actual running of jackd?
> > could you try another thing: modify mlockall-test.cc to use mlock() on > > the freshly allocated anonymous pages? Does this produce the same > > latencies? mlockall() prefaults _all_ pages the process currently has. > > Maybe mlockall() touches some page that is mapped both by jackd and > > mlockall-test and thus somehow interacts with jackd's scheduling. > > I don't know C++, Florian wrote this program. Can you provide a > pseudo-patch?
your above observation wrt. linearity of the xrun makes it less likely that the issue is caused by page sharing between jackd and mlockall-test. (if then they share a constant amount of pages.)
but it would be nice to test it anyway, i've attached mlock-test.cc.
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |