個人的なメモです。
ALTQ が merge された。各 if も順次対応。
バッテリーの状態を監視する battd(8) が追加。liamfoy 作。 なんで apmd(8) に統合しないのか謎。
pcm(4) が ICH6 に対応。
corecode@ に commit bit。
設定したカーネルオプションを、 モジュールの単体 build 時に反映させることができるようになった。
Alpha と pc98 の対応部分が削除されてる。
libc に sigwait 追加。もちろん sigtimedwait と sigwaitinfo の syscall も追加。
path MTU discovery が変、というレポートがあったので、 hsu が機能を無効にしてる。
「GEOM は 4.x に移植されないすか」と、FreeBSD と DragonFly の両方の ML をまたがってあばれてる人がいる。 GBDE がほしいらしい。迷惑。
GoBSD.com で DFly 用の bootstrap-pkgsrc と precompiled package を配布してる。
David Xu が 1:1 pthread lib の作業のために参加。 しかし、libthread_xu という名前はいかがなものか。
まだカーネルサポートが十分でないので、まともには動きません。
okumoto@ ががしがし入れてる make の変更が、 FreeBSD 側にも porting されてる。
gif 使うと panic するよー、と報告が出ていたのだけど、 結局のところ hsu のミスだった。例の cosmetic change にバグが混ざってたもよう。
rp, awe, pcic, fpu emulator が削除された。
dillon による libc 大幅書き換え。_THREAD_SAFE に依存している部分をざっくり変更。pthread で使う weak symbol が追加され、FreeBSD 5.x のように libc とスレッドライブラリを両方リンクする形に対応。 これで複数のスレッドライブラリをサポートすることが可能になる。
ちなみに FreeBSD 4.x は libc の *代わり* に libc_r を使いましょうという話になっていた。 Xorg などは libc にこの weak symbol が入っていることを前提にしている。
jail_attach(2) と、ユーザランドユーティリティとして jexec(8), jls(8) が追加。
cvsup.dragonflybsd.org のコレクション名が cvs-* から dragonfly-cvs-* に変更されました。delphij@F.org が文句を言ったらしい。
allbsd.org では、当初から dragonfly-cvs-* を使っているので、影響はないかと思います。
ちょっと間隔があいたので、一気に補完。
linuxpluginwrapper を動かすための patch が出ている。 nork@F.org さんに連絡。DFly には libmap.conf がないので rtld-elf に patch をあてなければならないけど、 linuxpluginwrapper-20050119 以降は port override は要らなくなってる。
joerg はこのアプローチはリンクするたびにファイルを読み込んで遅いから嫌、 と言っている。確かに正論。 ライブラリの対応情報をバイナリに埋め込めるようにするのがいいような気がする。
Perl が base system から削除された。ports は FreeBSD 4.x 系だと思い込んでいる関係で、PERL_VERSION を指定しておかないと build できなくなるので注意。
Xorg の ports が import。joerg が libXThrStub まわりの修正をしてくれた。
libc に getopt_long_only 追加。
wx(4) 削除。FreeBSD でも話題になったところ。昔は wx(4) じゃないと i386 以外では不幸になるという話で残してあったのだけど、 今は i386 以外でも em(4) があれば大丈夫。
OpenSSL 0.9.7d, acpica-unix-20031203, libgmp が削除された。
newkey が libmp ではなく libcrypto を使うように変更。
umtx_sleep(ptr, matchvalue, timeout) と utmx_wakeup(ptr, count) という、 sleep/wakeup primitive が追加された。ユーザランドから使える。 以下 dillon のメッセージ引用。
The typical race case showing resolution between two userland processes is shown below. A process releasing a contested mutex may adjust the contents of the pointer after the kernel has tested *ptr in umtx_sleep(), but this does not matter because the first process will see that the mutex is set to a contested state and will call wakeup after changing the contents of the pointer. Thus, the kernel itself does not have to execute any compare-and-exchange operations in order to support userland mutexes.
PROCESS 1 PROCESS 2 ******** RACE#1 ****** cmp_exg(ptr, FREE, HELD) . cmp_exg(ptr, HELD, CONTESTED) . umtx_sleep(ptr, CONTESTED, 0) . [kernel tests *ptr] <<<< COMPARE vs cmp_exg(CONTESTED, FREE) . <<<< CHANGE . tsleep(....) umtx_wakeup(ptr, 1) . . . . . PROCESS 1 PROCESS 2 ******** RACE#2 ****** cmp_exg(ptr, FREE, HELD) cmp_exg(ptr, HELD, CONTESTED) umtx_sleep(ptr, CONTESTED, 0) cmp_exg(CONTESTED, FREE) <<<< CHANGE vs umtx_wakeup(ptr, 1) [kernel tests *ptr] <<<< COMPARE [MISMATCH, DO NOT TSLEEP]
These functions are very loosely based on Jeff Roberson's umtx work in FreeBSD. These functions are greatly simplified relative to that work in order to provide a more generic mechanism.
wi(4) が polling に対応。まだ不完全。
heimdal-0.6.3 の import。
sysctl(8) と make(1) が壊れたりなおったり。 pointy hat to: cpressey and okumoto.
vm map エントリの検索が線形検索から red-black tree に変更された。 理論効率は O(log(n))。ちなみに FreeBSD は spray tree, NetBSD は red-black tree。
spray tree の欠点は、look up がメモリへの書き込みをともなう、というところ。 red-black tree は二分木の変形版で B+ tree に似たやつ。 こっちは look up でもメモリに書き込む必要はない。
なんか一回目のログインだけ遅いんだけど、というレポートが出ていたのは、 実は arp が壊れているのが原因なんじゃ、と dillon。 hsu が修正している。やっぱり大規模な書きなおしをするとバグが入るなぁ。
OpenBSD → KAME → FreeBSD と、RFC をそのまま使った IPv6 関係のマニュアルページの入れ換えが来たので、DFly も入れ換え。 FreeBSD 側は新 API に合わせて、さらに書き換えが入っているもよう。
そろそろ perl が base system からなくなる見込み。 make upgrade がよきに計らってくれる (はず)。
mountctl(8) が追加された。マウントされているファイルシステムの 挙動 (journaling など) を制御するためのユーザランドユーティリティ。
in6_domifattach()/in6_domifdetach() を merge する patch を投げておく。先は長い。
sysutils/rc_subr を submit してから joerg に指摘されて、 確かに要らんなぁ、と思っていたら、dillon が commit しちゃったみたい。 古い package 使っている人は、まあ役に立たなくはないけれど。
hsu@ が routing まわりのコードを書き換えてる。 まだ詳しく確認していないけれど、API が変わっているみたいなので要注意。
joerg@ が kernel@ で make(1) の挙動が変、と言っている。 単に suffix rule が適用されているだけで、 別に変ではないと思う。分かりにくいし、 ひっかかりやすいのは確かだけど。
joerg@ が binutils 2.15, dhclient 3.0.2rc3 を import。 ついでに sockstat の C rewrite 版が追加された。 CVS 1.12.11 は明日やるぜ、というてる。
v6only=1 がデフォルトになった。めでたい。
まだ原因がつかめていないバグ。cp -rp を使うと、 まれに chmod の段階でこける。
/bin/cp -Rp /x/20041228/obj/usr/ports/mail/ilohamail/work/IlohaMail-0.8.13/IlohaMail/ /usr/local/www/ilohamail cp: chmod: /usr/local/www/ilohamail/conf: Invalid argument cp: chmod: /usr/local/www/ilohamail/lang/kr: Invalid argument
なぜか手動でやってみると再現しないので、困り中。 package build が一段落したら詳しく調べる予定。
xorg-libraries と xorg-server の patch を新しくしたものを submit@ に送る。 i830 以降で signal 11 が出る症状がなおっているはず。
net.inet.ip.rtexpire=0 を設定すると panic するバグが修正された。
ついでに net.inet6.ip6.v6only=1 をデフォルトにする patch を投げておく。 rc.d script もいくつか調整しなければいけないような気がする。
今年もよろしくお願いします。
asmodai が libm を NetBSD から持ってきて import している。 2005 年は日本に来る予定があるとか言ってたのを思い出した。 本当に来るのかしらん。
xorg 6.8.1 まわりがちょっとごたごた。 FreeBSD 側でも anholt が直したやつを出しているので、 誰もやらないようなら、もう一回 merge しなおした新しいものを出すつもり。
drhodus が GoBSD.com の package を新しくしてる。タイムスタンプを見る限りでは、 2-3 日かかってるみたい。
手元の package build では、 いくつかまだバグに引っかかってるのがあるっぽい。 chmod できたりできなかったりする現象が出てるのだけど、 再現条件がよく分からない‥‥
LAST MODIFIED: 2005/02/21 19:46:20 UTC