Subject: NetBSD/vax now runs multicpu
To: None <netbsd-announce@netbsd.org>
From: Hubert Feyrer <hubertf@netbsd.org>
List: netbsd-announce
Date: 05/31/2001 17:25:12
 * NetBSD/vax now runs multicpu

Anders Magnusson got his VAX 8350 to use all three processors.
of the code is in the source tree already, the rest will undergo
a bit more cleanup and polishing, and will then be committed to
the development branch, NetBSD-current.

The VAX 8350 system is probably the slowest multiprocessor system
that NetBSD will ever support; each CPU does about 2VUPS (~2MIPS).
Note that the 8350 normally only has two CPUs, the third one was
plugged in for testing purpose. 

It shouldn't be too hard to make NetBSD/vax running on some funnier
machines, like the 8800, which has two 6VUPS KA88 CPUs, and the
6000 series, which can take up to six CPUs with upto 32VUPS
altogether.  Stay tuned!

For curious parties, there's a dmesg(8) and top(1) output below,
note the "3 on processor" in top(1) output. Also, for all the youth
out there spoiled by workstations and PCs, here are a few pictures
showing what a /real/ computer looks like:

Here's a VAX8800 (the four rightmost sections with brown top):
http://www.ludd.luth.se/gallery/ludd1-mII/ftp.luth.se_mark_IV-4.jpg

Here's the 8350 Anders has been working with:
http://www.ludd.luth.se/gallery/ludd1-mII/8350-1.jpg

This is a 6000, merely a 6320 (two CPUs, 4 VUPS each):
http://www.ludd.luth.se/gallery/ludd3-mII/6320.jpg

Enjoy!


 - Hubert Feyrer
   The NetBSD Project



dmesg(8) says:

Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.5V (GENERIC.MP) #41: Wed May 30 17:46:57 CEST 2001
    ragge@bakfull:/usr/home/ragge/tmp/syssrc/sys/arch/vax/compile/GENERIC.MP

VAX 8200
total memory = 49148 KB
avail memory = 41848 KB
using 640 buffers containing 2560 KB of memory
mainbus0 (root)
bi0 at mainbus0
klesi at bi0 node 0 [sadr 20400000 eadr 20440000] not configured
cpu0 at bi0 node 2: ka825 (master) cpu rev 2, u patch rev 28, sec patch 1
kdb0 at bi0 node 4 vec 520
mscpbus0 at kdb0: version 3 model 2
ra0 at mscpbus0 drive 0: RA90
ra0: nspt 52 group 1 ngpc 15 rct 780 nrpt 1 nrct 2
ra1 at mscpbus0 drive 1: RA90
ra1: nspt 69 group 1 ngpc 13 rct 414 nrpt 1 nrct 4
cpu1 at bi0 node 7: ka825 (slave) cpu rev 2, u patch rev 29, sec patch 1
ni0 at bi0 node 8 vec 540: DEBNA
ni0: hardware address 08:00:2b:0b:cd:05
cpu2 at bi0 node 9: ka825 (slave) cpu rev 2, u patch rev 28, sec patch 1
dmb32 at bi0 node 10 unsupported
mem0 at bi0 node 11: size 16MB, 1M chips
mem1 at bi0 node 12 [sadr 1000000 eadr 2000000]: size 16MB, 1M chips
mem2 at bi0 node 13 [sadr 2000000 eadr 3000000]: size 16MB, 1M chips
booted from type 98 unit 0 csr 0x20010000 adapter 8 slave 0
boot device: ni0
root on ni0
mountroot: trying cd9660...
mountroot: trying nfs...
nfs_boot: trying DHCP/BOOTP
nfs_boot: BOOTP server: 130.240.16.34
nfs_boot: my_addr=130.240.16.204
nfs_boot: my_mask=255.255.255.0
root on zen:/export/root/nisse
root time: 0x3b0d6ac7
Clock has lost 11256 day(s) - CHECK AND RESET THE DATE.
root file system type: nfs
cpu1: running
cpu2: running
init: copying out path `/sbin/init' 11
/etc/rc.conf is not configured.  Multiuser boot aborted.
Enter pathname of shell or RETURN for sh:
Terminal type? [unknown]
#


top(1) output:

load averages:  0.77,  0.61,  0.28    09:42:47
11 processes:  8 sleeping, 3 on processor
Memory: 2476K Act, 156K Wired, 38M Free

  PID USERNAME PRI NICE   SIZE   RES STATE     TIME   WCPU    CPU COMMAND
   38 root      49    0   108K  368K onproc    0:05 74.31% 16.46% top
   37 root      31    0   132K  352K onproc    0:51 26.59%  7.86% bc
   32 root      10    0   444K   92K sleep     0:01  9.83%  3.56% sh
   36 root      28    0   132K  352K onproc    0:05  9.17%  3.03% bc
   31 root      10    0    24K  268K sleep     0:03  5.12%  1.86% time
   29 root      10    0   444K  136K sleep     0:01  4.85%  1.76% sh
   35 root      10    0    24K  268K sleep     0:00  5.03%  1.66% time
   28 root      10    0   444K   80K sleep     0:01  0.00%  0.00% sh
    1 root      10    0   248K   64K sleep     0:01  0.00%  0.00% init
   33 root      10    0   444K  136K sleep     0:00  0.00%  0.00% sh
   11 root      10    0   444K  312K sleep      ???  0.00%  0.00% sh

(Running two 'echo "2^9999/3^6308" | /usr/bin/time bc')

-- 
NetBSD - because Unix isn't just #include <linux.h>, i386, ILP32, ELF, ...!