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>