Subject: [linux-audio-dev] Re: bad latency benchmark results with SMP kernel
From: mingo_AT_chiara.csoma.elte.hu
Date: ke syys 15 1999 - 17:48:10 EDT
On Wed, 15 Sep 1999, Maarten de Boer wrote:
> I have been running Benno's latest benchmarks
> on a Dual Pentium II 400 Mhz. (kernel 2.2.10,
> N6 patch and rtc patch applied).
> Ingo: maybe you don't have access to a Dual
> processor machine. Can you point out where
> I should look to fix the problem ?
the whole lowlatency patch was developed on SMP boxes. (FYI, i'm
maintaining a fair chunk of Linux's x86 SMP code)
the problem is lock_kernel(). the solution is quite simple, in
include/asm/smplock.h, instead of this reaquire_lock():
spin_lock(&kernel_lock)
do something like:
while (!spin_trylock(&kernel_lock))
if (current->need_resched)
schedule();
does this help? And remove the assembly code from kernel_lock(), and do:
if (!++current->lock_depth)
reacquire_kernel_lock(current);
let me know if you cant get it working and i'll send a patch. (but right
now i'm held up with other SMP issues.)
Ingo
This archive was generated by hypermail 2b28 : pe maalis 10 2000 - 07:27:12 EST