Re: [patch] voluntary-preempt-2.6.8.1-P0
From: Ingo Molnar
Date: Sun Aug 15 2004 - 21:53:34 EST
* Lee Revell <rlrevell@xxxxxxxxxxx> 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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/