Hi Erik,
At Fri, 5 Oct 2001 16:14:45 +0200 (CEST),
Erik Inge Bolsų wrote:
>
> On Fri, 5 Oct 2001, Takashi Iwai wrote:
> >At 05 Oct 2001 05:20:40 -0700,
> >Josh Green wrote:
> >> > > Are there any programs that report what piece of
> >> > > code is causing big spikes? I haven't tested the 2.4.10 kernel yet, and
> >> > > if I did it would be bare without any patches (as I don't know of any up
> >> > > to date with 2.4.10). I did realize that the 2.4.9 kernel with LL patch
> >> > > is worse than the 2.4.5 one I was using. This might be because I
> >> > > compiled it with Mandrake's gcc a la 2.96.
> >> >
> >> > As far as I've experienced, the VM of 2.4.9 tends to have higher
> >> > latency under heavy disk loads. On 2.4.10 the VM was changed much and
> >> > became better.
> >> >
> >> > I discussed with Andrea about this problem, and he will check the
> >> > relevant part. Hopefully any patch will come to 2.4.11.
> >>
> >> Sounds good. I noticed the memory management got worked heavily between
> >> 2.4.9 and 2.4.10. I couldn't really just logically do a manual apply of
> >> rejects for the LL patch for 2.4.9. Its nice to hear that its for the
> >> better :)
> >
> >A good news: after several tries and hacks, I got 1msec latency.
> >You need to add rescheduling checks in sync_buffers() loop (in
> >fs/buffer.c). In my case I added the checks in write_some_buffers()
> >and wait_for_buffers(), which are called from sync_buffers().
>
> I tested your latencytest on 2.4.11pre3+PE kernel, and found that the
> worst latency spikes were 14ms, according to the PE stats patch in
> write_some_buffers and wait_for_locked_buffers. Apart from those, there
> are only <1ms locks on my system now.
>
> K6-2 350
> Gravis Ultrasound PnP
> Latest CVS ALSA
> All-scsi system
>
> Could you send me a 2.4.10 => 2.4.10yourlowlatencyperfect patch, so I
> could try that one on my system?
Unfortunately I'm using not vanilla kernel so I cannot give you a
whole patch (which will surely conflict). The only change I've done
is only to fs/buffer.c. The patch to the file is attached below.
It's to vanilla 2.4.10. Up to 2.4.11-pre4 is ok.
If compiler complains taht "unlikely" is not defined, please add
<linux/compiler.h> in includes.
Please give a try and let me know if it works!
ciao,
Takashi
buffer.c.dif