Subject: Re: Extreme slowdown
To: Reinoud Zandijk <imago@kabel065011.kabel.utwente.nl>
From: Richard Earnshaw <rearnsha@buzzard.freeserve.co.uk>
List: port-arm32
Date: 02/24/2001 23:08:35
> Hi Richard,
>
> On Sat, 24 Feb 2001, Richard Earnshaw wrote:
> > There are some nasty diagnostics in pmap.c, which should probably be moved
> > to DEBUG.
> >
> > arm32/pmap.c:
> > #ifdef DIAGNOSTIC
> > for (npv = pv; npv; npv = npv->pv_next)
> > if (pmap == npv->pv_pmap && va == npv->pv_va)
> > panic("pmap_enter_pv: already in pv_tab pv
> > %p: %
> > 08lx/%p/%p",
> > pv, pv->pv_va, pv->pv_pmap, pv->
> > pv_next);
> > #endif
>
> 've moved this one to PMAP_DEBUG since this is one of the things that
> really slow down the machine ... without this few likes the system time
> usage is again within limits and is about 0.5-1% again running top =)
>
OK, here's some hard numbers for my kernel when running the configure
script from gnumake 3.78.1
Before changing the above check to PMAP_DEBUG:
Real 2m41.671 2m28.281 2m27.885
User 0m30.933 0m30.186 0m31.423
Sys 1m29.287 1m30.219 1m28.852
After converting above test to PMAP_DEBUG (DIAGNOSTIC still defined)
Real 2m34.863 2m24.204 2m21.606
User 0m31.155 0m29.822 0m31.253
Sys 1m24.474 1m24.112 1m24.001
Kernel with DIAGNOSTIC disabled
Real 2m24.147 2m16.741 2m16.751
User 0m30.259 0m30.497 0m30.000
Sys 1m20.753 1m18.895 1m18.660
All above timings were taken from a system with no significant load
(except for the very first run (2m41), which had top and systat vmstat
running). System was running Xarm32vidc with kde session and exmh.
As can be seen, that one test is worth about 4-6 seconds off the configure
time. All the other diagnostics are together worth about another 6-7
seconds.
R