2002-01-05 15:16:57

by Mikael Pettersson

[permalink] [raw]
Subject: Re: 2.5.2-pre performance degradation on an old 486 (it's the scheduler)

On Sat, 5 Jan 2002 09:25:48 +0100 (CET), Matthias Hanisch wrote:
>On Sat, 5 Jan 2002, Mikael Pettersson wrote:
>
>> When running 2.5.2-pre7 on my old for-testing-only 486(*),
>> file-system accesses seem to come in distinct bursts preceded
>> by lengthy pauses. Overall performance is down quite significantly
>> compared to 2.4.18pre1 and 2.2.20pre2. To measure it I ran two
>> simple tests:
>>
>> Test 1: time to boot the kernel, from hitting enter at the LILO
>> prompt to getting a login prompt
>> Test 2: time to "rm -rf" a clean linux-2.4.17 source tree, using
>> the newly booted kernel (no other access to the tree before that,
>> so it wasn't cached in any way, and the machine was otherwise idle)
>>
>> Test 1 Test 2
>> 2.2.21pre2: 71 sec 75 sec
>> 2.4.18pre1: 64 sec 72 sec
>> 2.5.2-pre7: 97 sec 251 sec
>>
>> I haven't noticed any slowdowns on my other boxes, so I didn't
>> do any measurements on them. On the 486 it's very very obvious.
>
>This is exactly, what I see with my old 486 box. It started with
>2.5.2-pre3, which contained two major items:
>
>- bio changes from Jens
>- scheduler changes from Davide
>
>Surprisingly, backing out the bio changes didn't help. Backing out the
>scheduler changes from Davide did!!

BINGO! Running 2.5.2-pre8 with the scheduler changes backed out made
all the difference! Interactive responsiveness is much improved and
performance in the above two tests I ran is back to 2.4.18pre1 levels.

With 2.5.2-pre8 vanilla the 486 is getting large variation in Test 2
above (157s, 237s, 292s), but is never even close to 2.2/2.4 levels.

>> (*) 100MHz 486DX4, 28MB ram, no L2 cache, two old and slow IDE disks,
>> small custom no-nonsense RedHat 7.2, kernels compiled with gcc 2.95.3.

/Mikael


2002-01-05 21:00:23

by Matthias Hanisch

[permalink] [raw]
Subject: Re: 2.5.2-pre performance degradation on an old 486 (it's the scheduler)

On Sat, 5 Jan 2002, Mikael Pettersson wrote:

> BINGO! Running 2.5.2-pre8 with the scheduler changes backed out made
> all the difference! Interactive responsiveness is much improved and
> performance in the above two tests I ran is back to 2.4.18pre1 levels.
>
> With 2.5.2-pre8 vanilla the 486 is getting large variation in Test 2
> above (157s, 237s, 292s), but is never even close to 2.2/2.4 levels.

This means, it's the same problem.

I also tried the elevator fixes from Peter Osterlund posted in LKML
yesterday, which did not change anything for me. So it really seems, that
the culprit is the scheduler.

I'm not an expert in that area, so I am a little bit stuck right now. If
anybody has an suggestion, what we can investigate next (like backing out
only parts of the scheduler patch or place some strategic printf's), I am
willing to try this on my machine.

By the way, I also tried Ingo's scheduler yesterday, which at least didn't
show up with these problems. It even survived some hours of stress
testing.

Regards,
Matze



2002-01-05 23:07:39

by Davide Libenzi

[permalink] [raw]
Subject: Re: 2.5.2-pre performance degradation on an old 486 (it's the scheduler)

On Sat, 5 Jan 2002, Mikael Pettersson wrote:

> On Sat, 5 Jan 2002 09:25:48 +0100 (CET), Matthias Hanisch wrote:
> >On Sat, 5 Jan 2002, Mikael Pettersson wrote:
> >
> >> When running 2.5.2-pre7 on my old for-testing-only 486(*),
> >> file-system accesses seem to come in distinct bursts preceded
> >> by lengthy pauses. Overall performance is down quite significantly
> >> compared to 2.4.18pre1 and 2.2.20pre2. To measure it I ran two
> >> simple tests:
> >>
> >> Test 1: time to boot the kernel, from hitting enter at the LILO
> >> prompt to getting a login prompt
> >> Test 2: time to "rm -rf" a clean linux-2.4.17 source tree, using
> >> the newly booted kernel (no other access to the tree before that,
> >> so it wasn't cached in any way, and the machine was otherwise idle)
> >>
> >> Test 1 Test 2
> >> 2.2.21pre2: 71 sec 75 sec
> >> 2.4.18pre1: 64 sec 72 sec
> >> 2.5.2-pre7: 97 sec 251 sec
> >>
> >> I haven't noticed any slowdowns on my other boxes, so I didn't
> >> do any measurements on them. On the 486 it's very very obvious.
> >
> >This is exactly, what I see with my old 486 box. It started with
> >2.5.2-pre3, which contained two major items:
> >
> >- bio changes from Jens
> >- scheduler changes from Davide
> >
> >Surprisingly, backing out the bio changes didn't help. Backing out the
> >scheduler changes from Davide did!!
>
> BINGO! Running 2.5.2-pre8 with the scheduler changes backed out made
> all the difference! Interactive responsiveness is much improved and
> performance in the above two tests I ran is back to 2.4.18pre1 levels.
>
> With 2.5.2-pre8 vanilla the 486 is getting large variation in Test 2
> above (157s, 237s, 292s), but is never even close to 2.2/2.4 levels.
>
> >> (*) 100MHz 486DX4, 28MB ram, no L2 cache, two old and slow IDE disks,
> >> small custom no-nonsense RedHat 7.2, kernels compiled with gcc 2.95.3.

Are you able to profile the kernel ?




- Davide