最新更新日 2000.02.29.
ちょっと SMP の事に付いてかいてみましょう。今回のマシンのスペックはこちらを見てください。 → スペックと dmesg
まず、やっぱり一番最初に始めるのかカーネルのりコンパイルですね。LINT を見てと・・。
---------------- options SMP # Symmetric MultiProcessor Kernel options APIC_IO # Symmetric (APIC) I/O ----------------等と言う行を追加して、つくりなおせば、上記の dmesg の結果になりブートする事でしょう。むひひひ(^^)V。チェックする所として、以下の行でしょうか。
---------------- Programming 24 pins in IOAPIC #0 FreeBSD/SMP: Multiprocessor motherboard cpu0 (BSP): apic id: 0, version: 0x00040011, at 0xfee00000 cpu1 (AP): apic id: 1, version: 0x00040011, at 0xfee00000 io0 (APIC): apic id: 2, version: 0x00170011, at 0xfec00000 : : SMP: AP CPU #1 Launched! ----------------make の時は、make -j 2 すると、二つの石で動きます。top コマンドは、どっちの石で動いているか解ります。なかなか面白いです。ふふふ。
現状の SMP カーネルの問題点としては、
・CPU のクロックが表示されない。
・利用している IRQ が 19 とか 17 等と表示される。
位でしょうか。後は、BP6 ではサクサク動いています。今は、75MHz*7 の 525MHz で動いています。快調です。make -j 2 で SMP カーネルを make すると、大体 88 秒程で終りました。
ちなみに会社の PC は Pentium III 667MHz(150MHz*5=700MHz) のシングル CPU なのですが、これがカーネルを make するのに掛かる時間は、なんと・・。68 秒です・・。FSB133 ベースの Coppermine は異様に速いですね・・。
CPU 一個の値段で M/B と CPU 二個買えてこのスペックならよしとしておきましょう。ふふふ。
BP6 が出たので書いてしまいますが、オンボートの ATA66 用チップは、3.4-RELEASE では使えません。4.0-RELEASE の ata ドライバで使える様です。リリースが待ち遠しいですね。
しゃーないので、ATA66 な Seagate の T320430A 20.4GB は、IDE の所に付けて、DMA 転送をしています。
---------------- # IDE controller and disks options "CMD640" # work around CMD640 chip deficiency controller wdc0 at isa? port "IO_WD1" bio flags 0x20002000 irq 14 disk wd0 at wdc0 drive 0 disk wd1 at wdc0 drive 1 ----------------controller wdc0 の所に flags 0x20002000 と付ければ DMA 転送出来るようになります。私は今まで SCSI だったのですが、ULTRA SCSI でも、もう IDE にかなわないと思うので、HDD をえいっ!! と IDE にしました。CD-ROM とか MO は tosha とか、od-driver を使うので今でも SCSI ですけどね・・。
と、言う事で、なんか、SMP と言うより BP6 の説明になってしまった感が無い事もないですが・・(^^;;。なかなか良い M/B ですよ;-)。