アクマくんにお願い:1999年07月上旬

Last-modified: Wed, 01 Mar 2000 01:01:26 JST

[static,style:furuta,jconv:jcode,cache:on]
powered by tds-Tomsoft Diary System 1.01-beta0


[トップ(一覧)] [最新版] [<<前月] [今月] [翌月>>]

1999年07月01日(木)

某A社

*BSD ブラックホールではない A 社が B な雑誌を出す らしい。

newconfig/dconf

dconf を作ってみる。メモ。

  1. CVSup で newconfig tree を展開。
  2. sysnewconfig990619-kld990620test8.10.patch.gzを入手。
  3. "$ cd newconfig" して、sys, include, usr.sbin が存在することを確認。 このディレクトリは、以降、$top で参照する。
  4. "$ cd $top; patch -p0 < sysnewconfig990619-kld990620test8.10.patch" .rej が発生しないことを確認。
  5. "$ cd $top/sys/dconf/config; make" で config(8) を作成。 (これは config.new(8) であって、config.old(8) じゃない) 適当な名前(ここでは dconfig とする) でインストール。
  6. "$ cd $top/sys/i386/conf; dconfig DKERNEL"
  7. "$ cd $top/sys/compile/DKERNEL; make vnode_if.c; make depend; make" vnode_if.[ch] ができないのはなぜでしたっけ?
  8. 同様に DMODULE でいくと module 群ができる。USB_MODULE でいくと usb module 群?

で、ここで中断。uch さんの 06/06 を参照して、boot 後に kldload registry で rescan、dynamic config できるはず。

旧 newioconf.c + ioconf.c = devconf.c で、 (このあたり基本的なところは 旧 dconf とほぼ同じもの) MODULE では devconf.c から registry.ko が構成される。 ふむ、なるほど…


1999年07月02日(金)

恐怖の大王

他に話題はないのか?

newconfig/dconf リハビリ中

sysnewconfig990619-kld990620test8.10.patch.gz メモ。

config(8) が devconf.c を生成。 SYSINIT() のパワー (;_;) によって、 dynamic だろうが static だろうが、 カーネルに load されると devconf.c 中の files_load() が呼ばれる。 unload される時には、同様に files_unload() だな。

struct files_info 構造体に各種ツリー情報他一式が入る。 これは files ファイルと CONFIG ファイルのコンパイルされたものと 考えられる。 files_load() は、devconf.c 中にコンパイルされた files_info データを config_load() に引き渡す仕事をする。 files_unload() は config_unload() になっただけで、同様。

config_load(), config_unload() は、dconf/kern_config.c にある。 files_info 構造体は、双方から files_devconf_setup() に渡される。 config_load() では、 そののち config_deferred_rescan() でツリーの再スキャンをする。

files_devconf_setup() は、files_info 構造体の devi で回るループ。

  1. devname を求める
  2. atname を求める
  3. locator (loc[] と locnames[]) を求める
  4. devconf = config_conf_lookup(devname, iunit, atname, atunit, loc) devconf があれば、dup なので continue (load)、 あるいは config_conf_deallocate(devconf) する(unload)
  5. unload の場合は continue
  6. devconf = config_conf_allocate() 単なるアロケート
  7. devbase = files_devbase(devconf, devname) 自分の devbase を検索
  8. atname があれば、atbase = files_devbase(devconf, atname) 親の devbase を検索 deferred_bus_rescan_queue につっこむ。
  9. attachment = files_attachment(devconf, devname, atname) して、 config_conf_add_attachment(devconf, attachment)
  10. atname があれば、各々の locator について config_conf_add_locator(devconf, locnames[i], loc[i])
  11. config_conf_enter(一式)

というのを、各ループでやる。

賞与

これで新マシンを組みます。

ACPI

ACPI Table Reader


1999年07月03日(土)

MOO

メモ。

flathill さんのところは、

$ telnet azuki.flathill.gr.jp 7777

散財

散財先で m-kasahr くんに遭遇。

アドレスの集合に対して、そのアドレス全部に飛ぶのが multicast で、 そのアドレスのどれかに飛ぶのが anycast.


1999年07月04日()

アキバで散財

ABIT BP6を求めてアキバを放浪した。何しろ日曜の午後 3:00 頃からうろうろしても、 どこもかしこも sold outで、もう残ってない様子。くぅ。 …とあきらめかけた頃、見つけましたよ、 BLESSで。ラッキー。ここにはまだ数枚残ってました。

本。全部 LAOX コンピュータ館

小計¥20217(税¥1010)。

CD-ROM。全部ぷらっとほーむ。

小計¥6280(税¥314)。

コンピュータ。

小計¥86840(税¥4342)。

これだけ散財したのに、秋葉原電気まつりの抽選券をくれたのは LAOX と若松通商だけだ。他は 秋葉原電気街振興会に加入していないということか。

おやあ? 「 炸裂する物欲」ですか。あんまり奇遇ではないかもしれないが。

と、思ったら CPU ファンを買い忘れてやんの(馬鹿)。実動は明日だな。

ぐるぐる

0xdeadbeef というのは、0xcafebabe とか 0xbadface みたいなもんじゃろう。


1999年07月05日(月)

散財

池袋で SANYO のファンと FDD を買ってから出社。

seti@home or RC5 64

FreeBSD の場合、 こういう他に仕事をさせたくない時だけ動かしておきたいものは、 idle priority で動かしておくのが吉。

# /usr/sbin/idprio 31 -プロセスID

PID を指定せずとも、idprio から起動するようにしてもいいんだけど、 そんなことは idprio(1) を読むがよろし。 (/usr/sbin にあるのに 1 章とはこれ如何に)

nice の値は CPU の pri の初期値に使われるだけなので、 同じ realtime/idletime priority にあるプロセスならば nice を上げても 少しは CPU が割当てられる。 双方 CPU bound なプロセスの場合、意外と nice の効果は低くなる。 しかし realtime/idletime priority が違えば、 その時点での pri に値に関係なく、 「上位」のプロセスの実行が優先される。 すなわち、「上位」のプロセスによって「下位」のプロセスの stavation が発生しうる。

言うまでもないけど、runtime priority の 31 が最上位で、 idle priority の 31 が最下位、 default は normal priority だす。

発掘あるある大事典 (xntpd tips)

某ML に昔書いたやつ。

とあるマシンの xntpd の動作を見ていると 30 分に一回程度 300ms 程度の時刻の reset をやっているようなのですが、 クロックが正確な *周波数* からのずれがあまりに大きいと、 追従ができなくてこういう症状になるようです。

xntpd の採用しているアルゴリズムだと、100ppm (1ppm は 1 Mega cycle につき 1cyle のずれの単位) 程度までのずれにはなんとか追従できるのですが、 それ以上離れるとダメなようです。

放置しておけばそのうち直りますが、 xntpd をそのマシンで起動した初日とかにこういう症状が出る場合は、 こんなふうにすると直りが早いみたいです。

  1. log を見て、どのくらいでどの程度ずれているかを調べる。 今の場合だと、30 分で 300ms のずれ、つまり、 (300ms * 10^6 / 30min * 60sec * 1000mili) = 166 ppm
  2. /usr/sbin/xntpdc -c loop を実行してみて、その時点で xntpd がどれくらいの「ずれ」を認識しているかを調べる。
    $ /usr/sbin/xntpdc -c loop
    offset:               0.055334 s
    frequency:            36.668 ppm  <---- これ
    poll adjust:          30
    watchdog timer:       549 s
    $ 
    
  3. 一旦 xntpd を中断する。(kill -HUP で死んでしまうやつ)
  4. /etc/ntp.conf に記述された driftfile を手で編集する。 この場合、166 + 37 = 203 で、200 程度。
    # echo 200.000 > /var/run/ntp.drift
    
  5. も一回 xntpd を起動。
    # xntpd -p /var/run/ntp.pid
    

これを実行しておけば、(上位のサーバとのネットワーク状態にもよりますが) 半日程度でほぼ収束状態に達っするようです。以前に安定動作させていれば、 そのマシンの水晶の特性は xntpd によって 一定時間ごとに driftfile に書きこまれているので、 まああまり大きな誤差にはならないようですが、インストールしなおした時とか、 気をつけると良いかもしれません。


1999年07月06日(火)

*BSD Diary Links

とりあえず、 *BSD Diary Links掲載依頼があったので、当然承認。や、もう載ってるよ。

タレコミは aki さんと takehiro さん。情報源は nyan さん。 記憶しておこう。:-p

NetBSD/i386

NetBSD/i386 も ELF にするらしい。

Message-Id: <199907050942.LAA00110@mail.wins.uva.nl>
Subject: NOTICE: i386 port switched to ELF binary format
From: frank@wins.uva.nl (Frank van der Linden)
To: current-users@netbsd.org, port-i386@netbsd.org
Date: Mon, 5 Jul 1999 11:42:29 +0200 (MET DST)

ja-acroread

candy さんとこ

core dump

かつて見た最も壮絶な core dump は、埼京線 池袋 - 板橋 間で、 吊り皮につかまったおじさんが、シート一面に発射したものです。 私は出入口付近で立っていたからことなきを得たのですが。

Accelerated-X

すでに買うつもり。散財は散財を呼ぶ。(^^; デモのシリアル番号は、DEMOAX-0693183650-66

ABIT BP6

こういう 計算をしている人もいる。

300A もそろそろ流通量が少くなくなりつつある 様子だし、こういう うわさもあるので、 食指が動いている人はお早めに。


1999年07月07日(水)

またしても散財

仕事でアキバへ行ったついでに Accelerated-X Desktop。

Voodoo Banshee で使うには パッチが要る みたい。

Dualon

ようやく組み立てて FreeBSD-3.2 で動作確認。 300A では何の支障もなく無事動作。 カーネル再コンパイルして SMP 動作も問題なし。

BP6 はジャンパーでなくて BIOS からクロック設定やら 電源設定ができるのが嬉しい。 さらに BIOS から 双方の CPU の温度(どこで計ってるんだろう?) や ファンの回転数がわかるようになっている。 見ていると楽しいのだが、これ BIOS からしか見れないのでは役に立たない。 原理的にはどんな環境からも見られるに違いないと思うのだが、 この辺詳しくないので、よくわからない。 SMI つかってゴシゴシやってやらないといけないのかしらん? それとも、すでに ACPI やら SMB やらで規格が決っているのだろうか? (うーむ、つっこみ期待したりして)

300A は一発で 450A とはいかなかった。 いろいろやってみると、VCORE 電圧を 2.0V -> 2.2V にすると わりかし安定動作してくれたが、外気温 25℃ の状態で 50℃ を越えてるからね。 リミット 80℃まではずいぶん余裕があるから、この状態でロードテストを やってみて問題ないならサーバをこちらに移行する作業に入ろうと思う。

ベースクロックは 90MHz から 100MHz の間で 1MHz 刻みで 設定できるようになっているみたいなのだが、 実際に使ってみると 100MHz 以外はうまく動いてくれない模様。 もう少しいろいろ試してみたいが、あまり時間が取れない。


1999年07月08日(木)

東鳩

motoyuki さんとこから、Neco さんのとこ。 爆笑。ダメ、これ奇し過ぎ。

ちなみに、私は game を遊んだこともなければ、 アニメやドラマを見たこともないです。

試験 寝ブッチ

大学を卒業できなかった私が言うのもナンですが、 最終的に卒業さえできれば、そう問題じゃないです。 私のようにクセにさえならなければね。 勉強の意志がコード書きの意志に負けない内に 学部卒業だけはしておいた方がいいですが。 あと、スポンサーがいれば、 いつかちゃんと謝っておいた方がよいでしょう。

…なんか、自分の懺悔状態。それでも、こうやって日々生きていられる。

ハウジングサービス

え、何かよいハウジングサービスでも ご存じなんでしょうか?

電車の友

LambdaMOO Programmer's Manual

azukiMOO は moo.flathill.gr.jp

大根の好きな悪魔

あら、こんな ところに。「記憶鮮明 東京編」までは読んでたんですけどねぇ…

めまいがくらくら

Newsgroups: fj.news.group.comp
Subject: [CFD] fj.comp.dev.{cpu,motherboard}
Date: 08 Jul 1999 06:05:58 GMT
Message-ID: <YAS.99Jul8150558@is.tsukuba.ac.jp>

うむ、これはまぼろしに違いない。見なかったことにしよう…

………まともな議論ができない人だとは思ってましたが、 FreeBSD と BSD 一般の区別が付けられない人だとは思ってませんでした。


1999年07月09日(金)

overclock の基礎知識

発熱との戦いを佐田さんから教えていただいた。 これで50℃越えてるわけですから、かなり余裕がない状態なわけですね。 とりあえず、BIOS で設定する限界温度を60℃あたりにしてみることにします。

お、期待通り takawata さんからつっこみ :-) だ。私なりに簡単にまとめると、

ということらしい。このあたりのキーワードをつきすすめば良さそう。

半導体コレクション展示会場

某chatの (Jul 9 14:22)[shigeru] から ここへ。なんて懐しい。オヤジ心をくすぐられる品々です。

LambdaMOO

確かにオブジェクト指向なのだが、クラスという概念が存在しない、みたい。 chparent() というのが、何というか、ぶよぶよしているというか、#<数字> とか、 recycle() とか、とってもほげほげしている。 うむ、表現するのが難しいな。詳しくは LambdaMOO Programmer's Manualでも読んでください。

LambdaCore のソースというのは、世の中に存在しないで、 LambdaCore.db 自体がオリジナルである、という理解で正しいんだろうか? だとすると、なんだか私のセンスというか、 環境整備本能に著しく反するシステムだなぁ。 本家での更新とローカルな更新を簡単にマージできないではないか。


[トップ(一覧)] [最新版] [<<前月] [今月] [翌月>>]

このページは、

Copyright(C) 1999,2000 Atsushi Furuta <furuta@bsdclub.org> All rights reserved.