[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 総会/BOFの反省点



  どうも,桝田です.

  連荘のBOF委員長でしたが,去年の反省とか活かせず,どたばたで
すみませんでした.
# 来年度は,既に手を挙げてくれている人が居るので,安心です(^^;)

> ・ロガーを前もって決めておこう

  司会しつつだったのでいい加減ですが,とりあえずのメモを付けて
おきます.
# 後は,発表者の方々に資料を貰って Web に吊るってところですね.

> ・マイクが回ってきてから話すようにしよう

  マイクまわしがいい加減になってしまって申し訳ありませんでした.
マイクの数はそれなりにあったので,会場の前と後ろに設置したりする
べきでしたね.
---
  桝田 秀夫@大谷.長田.神戸.日本 h-masuda@ootani.nagata.kobe.jp
ACPIについて (14:00- )
	ACPI
	NetBSD

ACPIについて
	CF-R1Mで頑張る
	動かそうとすると努力するもの、という誤解が。
ACPI規格の概要
	APMBIOS, PnPBOIS, MP Sepcなどの後継
	1996 1.0, 2000 2.0, 2.0c(current)
	500pagesの仕様書
	x86(x86_64), Itanium
	OS主導(より細かい省電力管理が可能)、構成制御
	NotePCだけでなく、サーバでも利用
ACPI仕様によりカバー
	構成の制御(Configuration) + 電源管理(Power)

ACPI BIOS
	RSD PTR
		tables XSDT, FACP, FACS, DSDT(include AML)
DSDT/AML/ASL
	DSDT(Differentiated System Description Table)
	AML(ACPI Machine Language)
	ASL(ACPI Source Language)
		ツリー状の名前空間で
	iasl/acpidump
ACPIにおけるシステムの省電力状態
	S0	省電力無し
	S1/S2	低消費電力モード
	S3	Suspend(Suspend-To-RAM)
	S4	Hibernation(Suspend-To-Disk)
	S5	ソフトOFF

	S4とS5は(ACPI側としては)実質同じ。
		S4BIOSがあれば、BIOSが面倒を見てくれる(APMと同じ程度)
ACPIサポートのためにOSに要求されるもの
	テーブルのサポート
	AMLインタプリタ
	リソース、イベントの管理	...
NetBSDでのACPIサポート
	S5(ソフトoff)サポート
	いくつかのACPIデバイスドライバ
	ACPI BIOS情報を利用したデバイスのアタッチ
	マルチプロセッサの初期化
	PIC割り込みルーティング

	バッテリなどのデバイスからの情報取得(envstat)
	イベントに対するユーザレベルハンドラ(powerd)
ACPI-CA(Component Architecture)
	Intelによる非依存のリファレンス実装
NetBSDで実装されているMI/ACPIデバイス
	acpibat, acpiacad, acpilid, acpiec, acpitz, acpibut
	spic, vald
ACPI経由でアタッチできるデバイス
	atppc, com, fdc, lpt, pckbc, wss

kouchiさんのやったこと
	2002	new ACPI-CA import
	2003	developer, PR, ACPI-CA import
	2004	rewrite man
		「NetBSDのは不完全だからmanも不完全なんだよ」とあるだけ。

	400/2600(Linux-2.6)

現在の課題
	PCI割り込みルーティングまわり
		MPACPI,MPBIOS,PCIBIOS_*,ACPI_PCI_FIXUP
		PCIBIOS_*でなんとかならないものが増えてきている。

ACPI-CAの問題点
	OS向けAPI/ABIがよく変わる
	バグが多い
	バグフィックスと新機能/書き直し が混在
		Linux/FreeBSDでバグだししてくれている?(笑)
	ACPI仕様が不完全。

ACPIデバイスドライバサポートの改善
	ACPIデバイスドライバサポートの改善
	システム休眠状態のサポート 
		S1/S3/S4
		各デバイスの省電力状態の制御/協調動作
		powerhook以外の何か(順序とか)
	ドキュメントの整備

Q/A
	どこから読んでいいか分からない
		AML/ASLの文法は見なくてよい
	割り込みルーティングとは
	OpenFirmwareでなかったのは何故だろうか
	kouchさんのPCは?
		ThinkPad X31

1.6.2+XCAST
	USBカメラすげー。ふきだし機能追加中。
	CD-Rを現地で作者が手焼き中。

NetBSD-2.0
	iconv, SA-pthread, non-exec data/stack が大きい。
	non-exec data/stack
		alpha/sparc/amd64などは大変お勧め
		macppcも結構よい
		i386はstackのみ
		m68k/mipsはなし
	kqueue, buffer cache overhaul, BUFQ-PRIOCSCAN, rbtree vm_mapentry
	socket buffer data insertion speedup
		パフォーマンス改善
	  BUFQ-PRIOCSCAN
		インターラクティブプロセスの改善
			write-back時のreadができない問題
	  UVM
		fragmentation問題が顕著に??→2種類問題がある。
		物理的なアドレス
		kernel virtual addressがfragmentation
	  buffer cache overhaul
		キャッシュできるものが増えた。
		dynamicにできるようになって良くなったり悪くなったり。
			仮想空間のページの貼替えで済むようにしてた。
	i386のMP

	2.0はいつ?
		ipfilter
			64bitマシンでルールが設定できない(をい)
		MP/SA-pthread
		UFS2
			newfs/fsck
		kcont
			関数ポインタだけでtsleepをやめる手法?
	newlockブランチ
		Solaris Internalを見て良さそうだ、と thorpej が始めた?
	gmcgarry_ctxswブランチ
		locore.Sにスケジューラが入っている。
	thorpej-devvpブランチ
		失敗したブランチ(設計ミス), 欲しい機能ではある。
		クローンデバイス
	pf/ALTQ
		pfはパッチのみ。
		ipfilter(generic),ipfw(FreeBSD)
		pfはALTQをベースに、ipnat,ALTQをくっつけた?
	FAST_IPSEC
		opencryptoを使う? (sys/netipsec ??)
		FreeBSDからimport?
	dconf
		3rd-partyドライバ(まあ無理でしょう、ABI)
	Citrus
		ファセット(C++)に対応するAPIに書き換える仕事が必要。
		Thread safeにしないといけない。
	PEACE
		メモリ管理まわりをWindowsに似せようとしている。
		VisualC++ compileは動く(が、linkerでこける)
		oki + tamura
	softupdates/UFS2で十分なのか?
		fvdl(FFSのmaintainer)
		WasabiJFS?(ext2に対するext3)
		ブロックレイヤに対する操作をジャーナル機能を追加
		LFS(v2)
			まだまだダメっぽい
	SAはまわりは?
	uwscons(Korea)/World21??
	Path名のM17N
		iconvをkernelに入れないと困るかも。
		namei cacheをどうするか。プロセス毎に変換する仕組みも必要。
			UNICODE方式ともっと柔軟方式で。
	hfs+
		読みだしは動く、ASCIIのみ。許さんが使ってデバッグ。
	macppcとMacOS Xの共存問題

	port-arc -> port-pc98
		http://sourceforge.jp/projects/netbsd98current/
		cpu=i386 arch=pc98
		x86 (i386 && amd64)
		xen

	disklabel問題
		wedge(??)
	releng.netbsd.org
		currentのスナップショットがないのは?
		JNUGでやる?

(-16:10)

	休憩

pkgsrcの動向 (16:20-)

	pkgview
	buildlink3
	pkgsrc on non-NetBSD
	pkgsrc-wip

	四半期毎にブランチ作成
		2004Q1
	xpkgwedgeがデフォルト
		2004Q2以降

	pkgview
		GNU stow based
	/usr/pkg/bin/hoge@					(view)
		-> /usr/pkg/packages/hoge-1.2.3/bin/hoge	(dept)
	/usr/pkg/man/man1/hoge.1@
		-> /usr/pkg/packages/hoge-1.2.3/man/man1/hoge.1

	buildlink
		GNU configure -> 
		buildlink (wrapper) buildlink2 (pkgview) buildlink3
	compiler.mk
		ccache(コンパイルが早い?) distcc (分散?)とか。
	built-in vs 3rd party
		pthread, iconv, ...

	pkgsrc-wip(Work-In-Progress, by wiz)
		百数十人ぐらい
	気になるパッケージ
		mozilla,openoffice,java2,subversion,KDE,GNOME,gmplayer

	pkgsrc-bulk
		30GByteぐらいでできる?
	
Q/A
	buildlink3/pkgviewへの対応は、
		Makefileに書くだけで済む。
		インストールまでで、運用まではまだ考えられていない
	bulk-buildの時間
		hpcmipsで3ヵ月程度?

17:00-
五十嵐さんステージ
	NetBSD-1.4I ->
	packet filter(自分で)

	web 0.4
	HZ依存したpollingだけでは少ない。
	kernel thread polling
		sleepでのswitchはまずい。activeでswitchはもっと悪い?
	interruptに乗じてpolling
		[TODO] pollingの周期を適切にする

	newbtconf
		/etc/etc.current以下へのsymbolic linkにする。
		timerを止められない。30秒がhard coding
	plugin wrapper
		libmmap()を利用するようになって動かなくなった。
			LD_PRELOADの頃は大丈夫。
		libpthread.so.0が乗っ取れない。pthread_mutexのsizeの差。
	rumpf
		IPv6のフィルタをしてないが、fr_checkv6sumでpanicする。
		QoS, filterと統一。layerを問わない柔軟性。
		matching patternと
		securelevelが上がるとおかしくなる問題。
		最適化された解析
		柔軟な拡張性

		pfでは、QoSのうちDiffServが使えない。
		記述法も新規開発

	power management
		wsconsのような感じ?

-17:45

	(休憩)

17:55-