Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 05 Dec 1996 20:05:32 +0100
From:      Terje Normann Marthinussen <Terje.N.Marthinussen@cc.uit.no>
To:        Steve Passe <smp@csn.net>
Cc:        "Erich Boleyn,,,," <erich@uruk.org>, smp@freebsd.org
Subject:   Re: >2 CPU SMP test 
Message-ID:  <199612051905.UAA20413@slibo.cc.uit.no>
In-Reply-To: Your message of "Thu, 05 Dec 1996 09:51:49 MET." <199612051651.JAA13340@clem.systemsix.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
TADA!!!!!!!!!!!! :)

I did: 
    for ( x = 1; x <= mp_naps; ++x ) { 
        /* setup a vector to our boot code */
        *((volatile u_short *)WARMBOOT_OFF) = WARMBOOT_TARGET;
        *((volatile u_short *)WARMBOOT_SEG) = (bootAddr >> 4);
        outb( CMOS_REG, BIOS_RESET );
        outb( CMOS_DATA, BIOS_WARM );       /* write 'warm-start' */

        startAP( CPU_TO_ID( x ), (bootAddr >> 12) & 0xff );
        cpuApicVersions[ x ] = cpuApicVersions[ 0 ];
    }

Like suggested, and:
check: 99, 99, 99, 99, 99, 99
check: 1, 2, 3, 4, 5, 99
check: 99, 99, 99, 99, 99, 99
check: 1, 2, 3, 4, 5, 99
check: 99, 99, 99, 99, 99, 99
check: 1, 2, 3, 4, 5, 99
...

# sysctl -w kern.smp_active=4
SMP: Starting 1st AP!
SMP: AP CPU #2 LAUNCHED!!  Starting Scheduling...
SMP: TADA! CPU #2 made it into the scheduler!.
SMP: 2 of 4 CPU's online. Unlocking next CPU..
SMP: AP CPU #3 LAUNCHED!!  Starting Scheduling...
SMP: TADA! CPU #3 made it into the scheduler!.
SMP: 3 of 4 CPU's online. Unlocking next CPU..
SMP: AP CPU #1 LAUNCHED!!  Starting Scheduling...
SMP: TADA! CPU #1 made it into the scheduler!.
SMP: All 4 CPU's are online!

And of course, some kernel makes:
time make
209.2u 140.7s 6:44.98 86.4% 228+262k 69+5332io 0pf+0w

time make -j 2
131.4u 230.1s 4:20.98 138.5% 54+58k 69+7071io 0pf+0w

time make -j 4
210.8u 165.7s 2:34.21 244.1% 126+157k 70+7288io 0pf+0w

time make -j 7
233.7u 149.5s 2:08.82 297.5% 138+182k 82+7534io 14pf+0w

time make -j 14
238.2u 145.8s 2:04.22 309.2% 131+179k 75+7280io 0pf+0w

time make -j 16
249.5u 136.0s 2:07.73 301.8% 136+177k 78+7324io 0pf+0w

And then I remembered that I didn't use -pipe (sorry, done with shell
script, different shell, differen time output, didn't care to do it again):

                                            in miutes    compared to j=1
time make				
342.12 real    256.07 user    111.05 sys     5:42.12          1

time make -j 2
226.33 real    268.54 user    117.25 sys     3:46.33          1.51

time make -j 4
126.64 real    257.72 user    130.47 sys     2:06.64          2.70

time make -j 7
108.19 real    271.30 user    114.41 sys     1:48.19          3.16

time make -j 14
107.22 real    274.56 user    114.16 sys     1:47.22          3.19   

time make -j 14 with csh reported 361.3% cpu usage.

Not tried to much yet, but the interactive response seems good at all
times.

Think I'll have to take the disk up a couple of floors and try it on
some 4CPU P6 netservers there :)

Terje Marthinussen
terjem@cc.uit.no




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612051905.UAA20413>