HTT on current
Bruce Evans
bde at zeta.org.au
Tue Aug 26 23:13:50 PDT 2003
On Tue, 26 Aug 2003, John Baldwin wrote:
> On 26-Aug-2003 Yamada Ken Takeshi wrote:
> > JYI,
> > I tested machdep.hlt_logical_cpus=0/1, buildworld,
> > and found no particular reason to disable HTT
> > as below with Zeon 2.8Ghz x 2, 1GBmem, Slow IDE HDD.
> >
> > It may not be the common case, so just for your info.
> >
> ># sysctl machdep.hlt_logical_cpus=0
> ># /usr/bin/time make -j32 buildworld
> > 1910.29 real 2520.53 user 777.30 sys
> >
> ># sysctl machdep.hlt_logical_cpus=1
> ># /usr/bin/time make -j32 buildworld
> > 2289.33 real 2666.66 user 645.88 sys
>
> One test is not sufficient. -current is also not the best
> place to test. :) When I first implemented HTT in -current
The above times seem slow enough to be partly the result of
debugging options in -current. I get buildworld times ranging
from 1401 seconds (2002/09/01) to 2427 seconds (2003/05/06)
on Athlon XP1600 x 1 depending on configuration and tuning (but
never with any expensive debugging options). A Xeon 2.8GHz x 2
should be a bit faster than an old Athlon.
> ... I did 16 trials (first one was
> throwaway) of back-to-back buildworlds of the same version
> of -stable using make, make -j2, and make -j4 for the
> following configurations: UP, HTT, HTT with smp_idle_hlt, and
> HTT with pause instructions added to stable and smp_idle_hlt.
> The fastest build time belonged to UP without any -j option.
All benchmarks using -j are invalid because of a pessimization
in make(1). It sleeps for up to SEL_USEC = 100000 usec after
completion of every job (average 50 msec). With -j2 this increases
!SMP buildworld times of approx. 2000 seconds by approx. 15%. I think
it has a smaller effect for larger -j values and for SMP but haven't
benchmarked it. This is fixed in NetBSD. I think fixing it was more
urgent in NetBSD because NetBSD never changed SEL_USEC from its
4.4Lite default of 500000. 500000 was large enough to be noticeable
even in 1997 when it was reduced in FreeBSD.
Bruce
More information about the freebsd-current
mailing list