Jason R Thorpe wysłał dziś na listę port-alpha@netbsd.org informację, że udało mu się uczynić kolejny krok w celu stworzenia dystrybucji NetBSD pracującej na wieloprocesorowej maszynie Alphy… Tak trzymać!

Pełen mail obwieszczający to wydarzenie – poniżej.

Subject: Alpha MP goes multi-user, code committed to NetBSD-current
To: None
From: Jason R Thorpe
List: tech-smp
Date: 04/20/2001 11:41:36

Folks, today I got multiprocessor Alpha kernels to go multi-user,  running both user and kernel code on multiple processors.  It even  seems to be pretty stable (did a kernel build, doing a full userland  build right now, and will build an Alpha binary snapshot with the  MP kernel later).    Here's what top(1) looked like while doing a "make -j4" of a kernel:    load averages:  6.76,  4.92,  3.33                                     11:07:27  43 processes:  2 runnable, 39 sleeping, 2 on processor  CPU states: 54.674934.4  0.0% nice, 44.674937.2m,  0.0% interrupt,  0.81502.9.9  Memory: 143M Act, 5168K Wired, 751M Free, 2046M Swp free      PID USERNAME PRI NICE   SIZE   RES STATE      TIME   WCPU    CPU COMMAND   5133 thorpej   62    0  9296K 9208K RUN/1      0:01 45.47%  8.25% cc1   5179 thorpej   62    0  6112K 6024K CPU/0      0:00 52.00%  2.54% cc1   5178 thorpej   63    0  5320K 5232K RUN/1      0:00 34.00%  1.66% cc1   4838 thorpej    2    0  1320K 2184K select/1   0:00  0.42%  0.29% make   5170 thorpej   10    0   264K 1064K wait/1     0:00  1.03%  0.10% cc   5174 thorpej   10    0   264K 1064K wait/0     0:00  2.00%  0.10% cc   5177 thorpej   10    0  1272K  552K wait/0     0:00  1.00%  0.05% sh   5169 thorpej   10    0  1272K  552K wait/0     0:00  0.51%  0.05% sh    223 root       2    0   872K 2544K select/0   0:10  0.00%  0.00% sshd    241 root       2    0   896K 2504K select/0   0:07  0.00%  0.00% sshd    258 root       2    0   856K 2488K select/1   0:05  0.00%  0.00% sshd   3134 thorpej    2    0    11M   12M select/1   0:03  0.00%  0.00% make    275 thorpej   28    0   376K 1544K CPU/1      0:01  0.00%  0.00% top    189 root      18  -12  1072K 4384K pause/1    0:00  0.00%  0.00% ntpd    242 thorpej   18    0  1304K  720K pause/0    0:00  0.00%  0.00% ksh    259 thorpej   18    0  1304K  712K pause/0    0:00  0.00%  0.00% ksh   5126 thorpej   10    0   264K 1064K wait/1     0:00  0.00%  0.00% cc    220 root      10    0   328K  992K nanosl/1   0:00  0.00%  0.00% cron   4840 thorpej   10    0  1272K  552K wait/1     0:00  0.00%  0.00% sh   5172 thorpej   10    0  1272K  552K wait/1     0:00  0.00%  0.00% sh   5125 thorpej   10    0  1272K  552K wait/1     0:00  0.00%  0.00% sh   4836 thorpej   10    0  1272K  552K wait/1     0:00  0.00%  0.00% sh      1 root      10    0   848K  392K wait/1     0:00  0.00%  0.00% init    222 root       3    0    96K 1120K ttyin/1    0:00  0.00%  0.00% getty    225 thorpej    3    0  1304K  688K ttyin/0    0:00  0.00%  0.00% ksh    107 root       2    0  1712K 2512K select/1   0:00  0.00%  0.00% rpcbind    Yes, I know some statistics are screwed up :-)  I'll work on fixing that  later.    All the code to make this work is in NetBSD-current.  I have done all  of my testing on an AlphaServer 1200.  This is the same systype as  the AlphaServer 4100, so MP configurations of that should also Just Work.    DEC/Alpha Processor, Inc. DP264 and UP2000/UP2000+ systems should also  work.  The API CS20 should work, too, as should Compaq DS20 sytems (they  are DP264 systems, as far as software is concerned).    Really, the only thing that might have a problem would be the  AlphaServer 8200/8400; they still use the PROM for console output,  and do a pretty evil thing with the level 1 page table.  That needs  to be fixed (either by doing a native serial port console driver,  or by fixing the kernel->PROM interface code) before that system  will work in an MP configuration.    There's definitely more work to do.  In particular, TLB invalidation  traffic has to be managed better.  Take a look at the frequence of  interprocessor interrupts:    frau-farbissina:thorpej 23$ vmstat -i   interrupt                           total     rate  soft serial                           142        0  soft net                            10666        4  soft clock                          25113        9  cpu0 clock                        3063914     1204  cpu0 device                        220873       86  cpu0 ipi                          3166394     1244  cpu0 tbia ipi                        1263        0  cpu0 tbiap ipi                        987        0  cpu0 shootdown ipi                3126178     1228  cpu0 imb ipi                        60037       23  cpu0 ast ipi                            4        0  cpu0 synch fpu ipi                   1586        0  cpu0 discard fpu ipi                  277        0  cpu1 clock                        3049191     1198  cpu1 ipi                          2316222      910  cpu1 tbia ipi                        1958        0  cpu1 tbiap ipi                       1799        0  cpu1 shootdown ipi                2295031      902  cpu1 imb ipi                        35271       13  cpu1 ast ipi                            8        0  cpu1 synch fpu ipi                   2575        1  cpu1 discard fpu ipi                   30        0  kn300 irq 12                        23182        9  kn300 irq 36                           55        0  kn300 irq 40                       197498       77  isa irq 4                             142        0  Total                            17600396     6918  frau-farbissina:thorpej 24$     Note that TLB shootdown requests are about as frequent as the clock  interrupt :-/  Anyway, future work -- at least it runs :-)    I'll post again later when a new binary snapshot is ready.  For now,  I'm going to go reward myself with a steak burrito.  Below is dmesg  from the system.  Shar and enjoy.    --           -- Jason R. Thorpe     [ using 324720 bytes of netbsd ELF symbol table ]  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.5U (FRAU-FARBISSINA.MP) #88: Fri Apr 20 10:42:55 PDT 2001      thorpej@frau-farbissina.shagadelic.org:/u2/netbsd/src/sys/arch/alpha/compile/FRAU-FARBISSINA.MP  AlphaServer 1200 5/533 4MB, 531MHz, s/n NI83605791  8192 byte page size, 2 processors.  total memory = 1024 MB  (2072 KB reserved for PROM, 1021 MB used by NetBSD)  avail memory = 931 MB  using 6553 buffers containing 52424 KB of memory  mainbus0 (root)  cpu0 at mainbus0: ID 0 (primary), 21164A-2  cpu0: Architecture extensions: 1  cpu1 at mainbus0: ID 1, 21164A-2  mcbus0 at mainbus0  mcmem0 at mcbus0 mid 1: Memory  mcpcia0 at mcbus0 mid 5: PCI Bridge  mcpcia0: Horse Revision 3, Left Handed Saddle Revision 4, CAP Revision 2  pci0 at mcpcia0 bus 0  pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok  siop0 at pci0 dev 1 function 0: Symbios Logic 53c810 (fast scsi)  siop0: interrupting at kn300 irq 36  scsibus0 at siop0: 8 targets, 8 luns per target  isp0 at pci0 dev 2 function 0  isp0: interrupting at kn300 irq 40  scsibus1 at isp0: 16 targets, 8 luns per target  mcpcia1 at mcbus0 mid 4: PCI Bridge  mcpcia1: Horse Revision 3, Left Handed Saddle Revision 4, CAP Revision 2  pci1 at mcpcia1 bus 0  pci1: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok  pceb0 at pci1 dev 1 function 0: Intel 82375EB/SB PCI-EISA Bridge (PCEB) (rev. 0x15)  vga0 at pci1 dev 2 function 0: S3 Trio32/64 (rev. 0x54)  wsdisplay0 at vga0  tlp0 at pci1 dev 3 function 0: DECchip 21140A Ethernet, pass 2.2  tlp0: interrupting at kn300 irq 12  tlp0: DEC DE500-AA, Ethernet address 00:00:f8:1a:d8:f6  nsphy0 at tlp0 phy 5: DP83840 10/100 media interface, rev. 0  nsphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto  eisa0 at pceb0  tlp1 at eisa0 slot 1: DEC DE425 Ethernet, pass 2.3  tlp1: interrupting at isa irq 9  tlp1: Ethernet address 08:00:2b:93:c7:a7  tlp1: 10baseT, 10baseT-FDX, 10base5, manual  isa0 at pceb0  com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo  com0: console  com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo  pckbc0 at isa0 port 0x60-0x64  pckbd0 at pckbc0 (kbd slot)  pckbc0: using
irq 1 fo
r kbd slot  wskbd0 at pckbd0  pms0 at pckbc0 (aux slot)  pckbc0: using irq 12 for aux slot  wsmouse0 at pms0  lpt0 at isa0 port 0x3bc-0x3bf irq 7  pcppi0 at isa0 port 0x61  spkr0 at pcppi0  isabeep0 at pcppi0  fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2  fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec  mcclock0 at isa0 port 0x70-0x71: mc146818 or compatible  mcbus0 mid 2: CPU 4MB BCache  stray kn300 irq 40  scsibus0: waiting 2 seconds for devices to settle...  cd0 at scsibus0 target 5 lun 0:  SCSI2 5/cdrom removable  siop0: target 5 now synchronous at 10.0Mhz, offset 8  scsibus1: waiting 2 seconds for devices to settle...  sd0 at scsibus1 target 0 lun 0:  SCSI2 0/direct fixed  sd0: 8678 MB, 5273 cyl, 20 head, 168 sec, 512 bytes/sect x 17773524 sectors  sd1 at scsibus1 target 1 lun 0:  SCSI2 0/direct fixed  sd1: 8678 MB, 5273 cyl, 20 head, 168 sec, 512 bytes/sect x 17773524 sectors  sd2 at scsibus1 target 2 lun 0:  SCSI2 0/direct fixed  sd2: 8678 MB, 5273 cyl, 20 head, 168 sec, 512 bytes/sect x 17773524 sectors  sd3 at scsibus1 target 3 lun 0:  SCSI2 0/direct fixed  sd3: 8678 MB, 5273 cyl, 20 head, 168 sec, 512 bytes/sect x 17773524 sectors  sd4 at scsibus1 target 4 lun 0:  SCSI2 0/direct fixed  sd4: 4091 MB, 3708 cyl, 20 head, 113 sec, 512 bytes/sect x 8380080 sectors  sd5 at scsibus1 target 5 lun 0:  SCSI2 0/direct fixed  sd5: 4091 MB, 3708 cyl, 20 head, 113 sec, 512 bytes/sect x 8380080 sectors  sd6 at scsibus1 target 6 lun 0:  SCSI2 0/direct fixed  sd6: 4091 MB, 3708 cyl, 20 head, 113 sec, 512 bytes/sect x 8380080 sectors  Kernelized RAIDframe activated  IPsec: Initialized Security Association Processing.  root on sd0a dumps on sd0b  root file system type: ffs  cpu1: CPU 1 running  RAIDFRAME: protectedSectors is 64  raid0: Component /dev/sd1a being configured at row: 0 col: 0           Row: 0 Column: 0 Num Rows: 1 Num Columns: 3           Version: 2 Serial Number: 22473 Mod Counter: 1666           Clean: Yes Status: 0  raid0: Component /dev/sd2a being configured at row: 0 col: 1           Row: 0 Column: 1 Num Rows: 1 Num Columns: 3           Version: 2 Serial Number: 22473 Mod Counter: 1666           Clean: Yes Status: 0  raid0: Component /dev/sd3a being configured at row: 0 col: 2           Row: 0 Column: 2 Num Rows: 1 Num Columns: 3           Version: 2 Serial Number: 22473 Mod Counter: 1666           Clean: Yes Status: 0  RAIDFRAME: Configure (RAID Level 5): total number of sectors is 35540160 (17353 MB)  RAIDFRAME(RAID Level 5): Using 20 floating recon bufs with head sep limit 10  

Archiwalny news dodany przez użytkownika: honey.
Kliknij tutaj by zobaczyć archiwalne komentarze.

Oznaczone jako → 
Share →