7 :
login:Penguin :2007/12/04(火) 19:42:44 ID:PJXZoX5p
x86系重複コードの悪夢は消えるのか? Linux Kernel Watch 11月版 長い長い開発サイクルを経てようやく登場した2.6.23 マージでx86系コードのスリム化なるか? SG chainingの導入でドライバ変更の大騒ぎ x86以外のプラットフォームにもKVMを -stableの進ちょく
★
☆
12 :
login:Penguin :2007/12/11(火) 22:50:50 ID:75xbQOhu
☆
なんだ、タイトルだけかよ 中身空
14 :
俺 :2007/12/18(火) 19:01:09 ID:K//ZswLt
ドライバでCPUキャッシュのフラッシュやりたい! どうやるの?だれかおせぇ〜てぇ〜
15 :
login:Penguin :2007/12/18(火) 21:59:52 ID:3n2hqKYj
16 :
俺 :2007/12/18(火) 23:09:12 ID:K//ZswLt
過疎……
18 :
login:Penguin :2007/12/21(金) 07:09:52 ID:I0aja/vl
過疎
AMD64でページサイズ16K ってできないよね?
20 :
login:Penguin :2007/12/25(火) 22:57:50 ID:fkgaTWib
過疎
21 :
login:Penguin :2007/12/28(金) 20:54:57 ID:hkKsyC5d
22 :
login:Penguin :2008/01/01(火) 00:50:09 ID:v23A57KM
あけおめ
24 :
login:Penguin :2008/01/01(火) 10:00:44 ID:Dr9f+iU/
25 :
login:Penguin :2008/01/04(金) 21:05:56 ID:8etYX9C5
kaso
26 :
login:Penguin :2008/01/09(水) 23:22:12 ID:yEiSUAxh
あ
普通のプログラムをカーネルモジュールに移植してみようとしたんですが、 makeの書き方がよくわからずに躓いています。 元が $(CC) -o test test.o test2.o lib.a だったのを obj-m := test test-objs := test.o test2.o lib.a と書き直しましたが、これじゃ駄目だというのはわかってもどう直したら いいかわかりません。 どう書くべきなのでしょうか? スレ違いでしたら申し訳ありません。
プログラム板のmake makesスレ でそんな質問したら煽り殺されるな
>>27 普通のプログラムをカーネルモジュールに移植にできるの?
前スレ891の臭いがする
そりゃヤクいな
>>27 Documentation/kbuild/makefiles.txt
>>29 制限にひっかからなければ。
33 :
27 :2008/01/16(水) 15:03:09 ID:cTRZmfky
自作デバイスドライバでアーカイブライブラリをリンクしたい、
と言った方が良かったかもしれません。
馬本にもこういった例はなかったので苦労してしまいました。
ライブラリを用いない方法でとりあえず回避したので、後でまた
再チャレンジしてみます。
>>30 その節はお世話になりました。
>>32 ありがとうございます!
なるほど、こんなものがあったんですね。
x86の次はshの32/64bit統合か。 これで仲間外れはsparcだけだな。
>>34 sh64なんて捨ててもいいんじゃないかと思うが‥
どうせやるならarch/sh以下を掃除してほしい。
Phenomのエラッタ対応カーネル?
2.6.24で対応
39 :
login:Penguin :2008/01/23(水) 00:41:02 ID:lCnMTMix
2.8ってまだなの?
バージョンナンバーに何の意味が?
41 :
login:Penguin :2008/01/23(水) 23:50:28 ID:86BJVPDQ
2.6.19.2 って何か問題ある?
>>39 --- Makefile~ 2007-10-09 16:31:38.000000000 -0400
+++ Makefile 2008-01-23 10:28:09.000000000 -0500
@@ -1,5 +1,5 @@
VERSION = 2
-PATCHLEVEL = 6
+PATCHLEVEL = 8
SUBLEVEL = 23
EXTRAVERSION =
NAME = Arr Matey! A Hairy Bilge Rat!
l
45 :
login:Penguin :2008/01/25(金) 14:09:38 ID:gyUILZwf
皆、カーネルってどれくらいの頻度でバージョンアップしてる?
gitの追っかけやってる。
update managerがお知らせしてくれる度に
2.6.24ついにktkr
CentOS5.1に適用してみた。CentOSの.configの流用だとipv4filterの 設定が引き継がれずiptablesが機能不全だったが訂正のうえ再構築で 今のところ何の不具合もなく連続運用中。2.6.24のリリースに併せて ポートマルチプライヤ+マルチレーン化。こっちも問題なし。あと 自分はReiserFS(v3)派なんだがなにやらマウントが異常に早いですね。 一瞬で終わるのでfstabの設定を間違ったのかと一瞬焦りました。
on-demand bitmap loadingが採用されたんじゃね
以前RCの時に2.6.24を試した。nvidiaのドライバーとか、パッチを当てるか自分で書き直して 使用しないとインストールが出来なかった。 なんでも24から「i386」ってのが無くなって確か「x86」になるとかで、カーネルヘッダーの archでi386を参照するのは全部指定しなおさないとダメかなって思って、その後23 へ戻しました。 やはりi386って無くなっているのでしょうか?
ln -s しときゃおkと楽観的な俺 ええよくハマリますともハマリますとも
V850がお亡くなりか…
moduleまわり消されると困るんだが。
>>51 #include <asm-i386/hoge.h>
みたいなのがあったりするわけですか?
pc98といい、NECは縁がありませんね。
56 :
login:Penguin :2008/01/31(木) 14:42:40 ID:Q5CfO4mF
失礼します。 ページキャッシュのヒット率ってどうにかして取れないでしょうか。 どうぞよろしくお願いします。
>>54 kernel.orgから貰ってきたsourceのarchにはちゃんとv850あるけど
お亡くなりってどういうこと?
これでビルドしてもbootできないとかなん?
59 :
login:Penguin :2008/02/01(金) 13:18:40 ID:C5Laam1M
ついにSMACKがtorvalds/linux-2.6.gitに突っ込まれた。
正直者のK○SAKIタン...
62 :
login:Penguin :2008/02/16(土) 07:52:37 ID:CHSrnxnj
kaso
じゃあ、 Linux 2.6.23 からCFSが入ったわけだが、CFSが入る前と比べて体感的に どう感じてますか?
>>64 デスクトップではどちらも同じと思う。
CFSのインタラクティブ性能向上は組み込みとかのほうが効くんじゃないだろうか。
でも、まだまだregression報告がしょっちゅうあがってるので無理して入れんでも
>>64 一個追加。
e2fsprogsまで追っかけるのめんどいからちょっと手が出せてないのだが、
ext4devを-o extentsありで使用している方はいますか?
69 :
login:Penguin :2008/02/21(木) 11:05:40 ID:dPTdnFUd
2.6.24.2にした。
70 :
login:Penguin :2008/02/22(金) 05:24:56 ID:qRwyaKYH
ディスクのパフォーマンス問題ってどう解析すればいいんだろう?
http://www.intel.com/design/servers/boards/S3200SH/index.htm このマザボを検証してるのだけどSATAにつないだディスクが異様に遅い。
bonnie++で比較してるのだけど、試しにUSBに外付けドライブを繋いだら
内蔵ドライブより5倍位早いwww ちなみに外付けは5400rpm, 内蔵は
7200rpm. 全部ext3.
CentOS 4.6の2.6.9、CentOS 5.1の2.6.18, vanillaの2.6.24.2, 2.6.23.16
とか色々試してみたけど大して差はない。Intelから返事待ちなのだけど、何か
出来る事はあるかな?
>>70 BIOSの更新。
違うHDDとか違うケーブルとかハードウェアを変えてみる。
dmesgあたり眺めて変なところを探す。
kernelのconfigを変なところを潰す。
以上自己責任で。
>>70 オンボのSATAを殺して、PCI-Eに適当なSATA増設カード入れて
みては
>>70 chipset は違うけれども、俺も ICH9R + SATA が遅いというのでずっと悩んでいたよ。
AHCI で動かすようになったら劇的に速くなった。
kernelは2.6.23-gentoo-r8。
74 :
login:Penguin :2008/02/23(土) 00:40:38 ID:63Zmw9I1
レスありがとうございます。
>>71 BIOSは最新。 ちなみに同じマザボで組んだシステムが6つあってどれも同じ症状。
特に怪しそうなdmesgは無し。
>>72 そういうカードが手持ちであればいいのですが、最終的にマザボのSATAが使える事が
目標なので今のところ買いに行く気にはなりません。
>>73 AHCIにするとこのマザボではインストーラーが動かなくなったり内部ディスクが
認識出来なかったり、しかも鶏によって症状が違ったりと色々別の問題が
出てくるので追求してませんでした。 これらの問題を切り分けてAHCIで
動かせる様にする方向も検討してみます。
hdparmとかいうオチは
>>75 現在検証用に設定したマシンは素のCentOS 5.1をインスコしてあり、特にhdparmではいじっていません。
というか、いじる必要があるという事でしょうか?
>>74 カードなんて安いもんだ。問題の切り分けのみの目的で買っても、
トラブルシュート時間(人件費)を考えると結果的に有利じゃない?
2.6.24.3 ビルド中にエラー出ました
79 :
login:Penguin :2008/02/27(水) 17:47:14 ID:0xc3VAjv
OpenGrokでLinuxのソースを公開してるサイトどこかにないでしょうか?
>>78 kwsk
>>79 ぐぐれば? というか、 OpenGrok って他のツールと比べて使いにくい印象があるけど。
81 :
78です :2008/02/27(水) 22:09:09 ID:+LFR5lTt
こんな感じ make CHK include/linux/version.h CHK include/linux/utsrelease.h CALL scripts/checksyscalls.sh CHK include/linux/compile.h CHK include/linux/version.h make[2]: `scripts/unifdef' は更新済みです make[3]: *** `/usr/src/linux-2.6.24.3/usr/include/linux/if_addrlabel.h' に必要なターゲット `/usr/src/linux-2.6.24.3/include/linux/if_addrlabel.h' を make するルールがありません. 中止. make[2]: *** [linux] エラー 2 make[1]: *** [headers_install] エラー 2 make: *** [vmlinux] エラー 2
83 :
78です :2008/02/27(水) 23:08:04 ID:+LFR5lTt
82さん ありがとうご゛います
84 :
70 :2008/02/29(金) 05:11:09 ID:2/sSzsW6
インテルもパフォーマンスを計ってAHCIでは50-80MB/s出るのがIDEでは 4-6M/sぐらいの性能がでない事を認めました。 面白いことにSATAポート5では IDEモードでも50-80MB出るとか。 至急問題解決に取り組むそうです。 自分もCentOS 4.4では認識されなかったAHCIモードのSATAドライブが CentOS 4.6では認識される事を発見。 また、あるCD-ROMドライブは AHCIモードでも認識される事も発見。 とりあえずAHCIでどうにかなりそう。
85 :
login:Penguin :2008/02/29(金) 17:48:21 ID:oGqJ2IJP
KERNEL_STACK_INPAGE_ERROR ってなってパソがずっとブルースクリーンのまま・・・ 対処方法わかるかたがいれば教えていただきたい 場違いだったかな
88 :
86 :2008/03/03(月) 02:10:33 ID:2BPGLCtn
すいませんでした お邪魔しました;
Linux Kernel Hack Japanが404
プロセスのスケジューリングの様子を可視化する方法って無いですか?
>>91 情報ありがとうございます。
ぱっと見た感じそれっぽいですね。
これから詳しく調べてみます。
サーバだけど、みんなパッチレベルってあげてるの?
流石、おかげで助かった。
>>99 そのパッチが実は
>>82 が言っている間違って当たったやつじゃないの??
自分はそう解釈して手作業でnclude/linux/kbuildの中のunifdef-y += i2o-dev.hとunifdef-y += if_addrlabel.hを
とっぱらっちゃったよw
そうしたらヘッダービルドでエラー吐いて止まっていたのが一応は最後まで動いたけど・・・
なんか間違っているかな・・・ unifdef-y += i2o-dev.hはとっちゃダメなのかな?
ethのrebuild_headerが呼ばれるタイミングって 具体的にどんな時?
LKMLが妙に静かなんだが、止まってるんですかねえ。
急ぐ用件は無いのでどうでもいいんだが。
>>101 細かい条件はしらんがARPで使ってたような。
vger.kernel.orgのwebホストが反応してないのう。
2.6.24はこれ以上更新する気は無いようだね。
vger復活したようですな。
だけどうちはまだ配送されてこない…
>>107 ・実はRAID0だった
・再構築中に別のドライブがお亡くなり
とか、まあよくある話ですよ。
再構築とか断末魔の高温が感染とか、連鎖は結構あるらしいね。
vmwareとかみたいな仮想NIC モジュールを組み込んだ場合 実物のNICが受け取ったskbは 一度どこに保持されるの? その後どうやって仮想NICに渡されるのかな? うーん
>>110 トンネリングドライバをとおして、仮想NICの受信バッファにコピーされる
>>111 とすると
/net/ipv4/ipip.cの
tunnel関係のAPI呼んでコピーするって
理解でいいのかな?
113 :
login:Penguin :2008/04/01(火) 17:53:14 ID:pmN4fC91
やっぱFreeBSD最強だな
SLQB なんて読むんすか
SiLuQaBoke
>>117 まさか、また増えるとは思わなかったよな。正直
パケットsendtoとrecvfromでコピーすると 結構コストかかって困る。 どうすりゃいいんだろう。 700Mbps3本とかになると絶望的だ
122 :
login:Penguin :2008/04/05(土) 06:26:22 ID:b3ldXGNy
2.6.24に対応したvserver-patchてないんかね
あるよ。Linux-VServerの開発版フォルダにおいてあった。 ただ、まだテスト中。どこが悪いというわけではなく、単に正式版を 取りまとめられてないだけらしい。
eth0からloopbackにskbデータ渡された場合 このskbデータはポインタとして渡るの? それともコピーされて渡されるの? いまいち仮想NIC作ってるけどこのへんが曖昧で困る
127 :
login:Penguin :2008/04/09(水) 07:10:54 ID:yVLTyVbP
128 :
login:Penguin :2008/04/16(水) 21:30:20 ID:vkAUGKVL
VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 15 EXTRAVERSION = .7-ubuntu1 NAME=Sliding Snow Leopard Makefile 見るとこんな記述があるのですが、 NAME っていったい何のためにあるのでしょうか? またカーネルコンフィグの中の CONFIG_LOCALVERSION とどのような関係があるのでしょうか? 後者は uname で現れる名前が変わるだけなのでしょうか? カーネルモジュールのバージョンチェックなどへの 影響範囲について記述されたページがあれば教えていただきたいです。
129 :
login:Penguin :2008/04/17(木) 14:53:35 ID:2ZTMPRpD
CentOS と Fedora を使っています。 自分のマシン用にカーネルをビルドして快適に過ごしているんですが、 そのカーネルを同系のマシン群に持って行きたいと思っています。 そこで rpm 化したいのですが、どこから手をつければいいんでしょうか? いっそのこと普段使っているカーネルイメージと initrd などを 一式コピーしようかとも思うのですが、できれば遠隔地なので rpm 化して送りつけて先方でインスコしてもらおうと思っています。 えっと、 spec ファイル書かなきゃだめですか?
>>129 Fedoar/Centのkernelのsrc.rpm持ってきて、kernel.spec 改造。
あとは、rpmbuild。
>>129 セキュリティーアップデートがあるたびに
パッケージ作り直すんですか。
ご苦労様
ネットで憂さ晴らしですか。 (・∀・)ニヤニヤ
-rw-rw-r-- 1 536 536 48601689 Apr 17 03:13 linux-2.6.25.tar.bz2
>>129 それだけならカーネルと/lib/modules/`uname -r`をtarで
固めてコピーしたほうが手っ取り早いと思うんだが。
>>135 そうか? かなりlinuxらしいし、きれいな実装法に思えるが。 kexecはあくまでもfast rebootで
あるからrebootlessで全ての状態が中断されずに走り続けるkspliceとは比較にならないと思う。
変更の解析にgnu bfdライブラリを使ってオブジェクトレベルで行い、特別なコンパイラレベルの
ツールを使わないというのも既存のディストリとの整合性も良いし、最後の結論の:
Due to Ksplice’s high level of automation and focus
on ease of adoption, it should be possible for any Linux
distributor―or other motivated individual―to start re-
leasing Ksplice-based hot update packages for common
starting kernel configurations.
は期待してしまう。 kspliceに基づくカーネルのホットアップデートがrpmやdebで配布され、
それをrpm, dpkgするだけで走り続けながらパッチが出来たらうれしいユーザーは多いと思うよ。
しかし、 kexec にしろこれにしろむしろ reboot ばっかの Windows に搭載されるほうが効果あるよなぁ。 いつか、 Windows の活気的新機能! リブートせずにOSアップデート! とか広告されちゃう日が来るんだろうか。
winでは既に載っていなかったっけ? linuxに似合わんと書いたのはちゃんと読んでなかったけど、 データ意味の変わらないパッチに対してのみ差分適用できるってやつか。 apiを通じてフェイルオーバー云々なのかと思ったよ。
kspliceでユーザ空間のアプリ どの鳥でも簡単にホットスワップする 方向にいくといいんだけどね 通信デバイス組み込みだと神機能になるなぁ
へー。ksplice。 カーネルの実行コードをランタイムで置き換えるようなイメージ? 普通のコードとの類推で考えると、例えばコンパイラが最適化しちゃってるような部分 (自動インライン化とか)は、ソースとの対比がしにくいでしょ。 そういうのはどうなってるのかな、と思ったり。 いかん、プログラムがカーネルかユーザかでどう違うのかもよくわからなくなってきた。 アホなこと書いてたらごめんなさい。
ksplice が ON になってると /proc/ksplice/map みたいなとこにそういう情報うめこむとか?
>>141 > ソースとの対比がしにくいでしょ。
kspliceはパッチ当てる前と後のカーネルをそれぞれビルドし、バイナリを比較してパッチを
作成するのでソースは読まない。
144 :
login:Penguin :2008/05/03(土) 08:33:49 ID:4uOkgA2v
カーネルをコンパイルするとき、 make make modules_install make install が定番のようですが、 make install するとすでに bzImage があるのに またビルドしなおしているようです。つまり最初の make でやってること をもう一度やっているようなのです。気持ち悪いので何が起こっている のか見てみようと思ったのですが、 Makefile には install という ターゲットの定義がありません。 そもそも最後の make install は、bzImage を /boot に適切な 名前でコピーして initrd のイメージを作るという二つのタスクを やっているだけなのでしょうか?とするとそこは手動でやれば いいということなのでしょうか? CentOS だと make install で initrd のイメージまで作って くれるようですが、Ubuntu だと mkinitrd コマンドが別に 用意されていて手動で作らないといけないみたいです。
make installをkernelビルドで叩いたことは、今だかつてないな
>>144 結局必要なのは
1.bzImageのコピー
2.System.mapのコピー
3.initrd の構築
だけなので、おいらはいつも自前スクリプト
>>144 CentOSのkernel src.rpm拾ってきて、kernel.spec読んでみれば?
ふつう make bzImage & make modules meke modules_install 頑張って登録 じゃねーの?
>>148 普通かどうか知らんけど、おいらも同じ。
bzImage だけ /boot へコピーして reboot。
>>144 arch/$(ARCH)/Makefile
>>148 make bzImage & make modules
は古い作法。
make
だけで上記2つはやってくれる。
つか、ほとんどのアーキでカーネルはbzImageではつくらないわけで、
最近のドキュメントからは消えてるやりかただと思う。
もちろん実害はないけどね。
>>144 たぶん、気のせいだと思うよ。
bzImageを作るのではなくて、bzImageを作る必要があるのかどうかチェックしているだけじゃないか。
153 :
login:Penguin :2008/05/05(月) 14:31:15 ID:Vur9Ut4N
あれ? make だけで bzImage まで作ってくれりるの? そのあと make modules したらまたモジュールのコンパイルしている気がするのは気がするだけか。
おれの場合
2.4系
make bzImage && make modules && make modules_install
2.6系
make && make modules_install
その後は共通
cp System.map /boot/System.map-2.X.XX.X && cp arch/i386/boot/bzImage /boot/kernel-2.X.XX.X
mkinitrd /boot/initrd-2.X.XX.X 2.X.XX.X <-必要あれば
>>153 気がするとかいうんじゃなくて make V=1 で verbose させたときの出力でも貼れよ
2.4系の場合、make dep するの忘れてた
156 :
login:Penguin :2008/05/05(月) 14:49:01 ID:B6gPYpkP
パッケージで管理しないの?
パッケージで管理しなきゃいけないなんて強迫観念、どこからくるの?
たまたまbzImageって打ち忘れたときに makeだけでbzImageとmoduleもやってくれるって気がついた
>>156 debianとかubuntuとかdeb系ならpackageにするな
packageにすると何か不都合があるという強迫観念は無いしなw
make install をすると、/boot/grub/grub.confを書き換え(てくれ)る。
ようやくremove v850 supportが-mmに入るらしい。 冥福でも祈っておきますかね。
deb系だと簡単だからなぁ。 /usr/src/linux# make-kpkg --bzimage --revision=custom.1.0 kernel_image rpm系だとパッケージ作らないな。
"make rpm"なんてことができたりするわけですが。 deb派なんで使ったことないけど。
debとかrpmとか作ったパッケージどう利用してる? パッケージに固めてその後インストールってだけなら わざわざパッケージ化する意味感じられないんだけど
>>164 1000台以上のシステムに配布してるけどね。
速いマシンでpackage化して、遅いマシンにインストールとかは良くやるな kernelに限らず
168 :
login:Penguin :2008/05/09(金) 02:44:41 ID:F15+qpVN
今のカーネルはどのバージョンの gcc でコンパイルすればいいの? カーネルの各バージョンによってコンパイラのバージョンも ある程度制限されるのかな? 昔は 2.7.2.3 をずっと使っていた時期があった。
linux 2.6.xは、gcc 2.xは打ちきられたが、3.x, 4.1.0を除く4.xを使えば基本的には問題ないはず。 まあ、カーネルと追加モジュールは同じバージョンのgccでコンパイルしたほうがいいだろう。 linux 2.4.33は、gcc 4.0までしか対応していない。
33じゃなくて36だな
Documentaion/Chagses の "Current Minimal Requirements" が参考になるかな
>>165 1000台以上でnetbootじゃないのか。後苦労様。
>>172 そりゃ全部違う客先のシステムだから。 まあ一気にではなくてアップデートパッケージの
一部として必要な客だけにだけど。
>>144 CentOSとUbuntuでmake installの動きが違うって事は各ディストリが用意したkernel sourceを使用して
いるって事かな。それだと最新のkernelが提供されてなかったりするでしょ。
本家から落としてきたkernelだとsourceを展開した所のREADMEにやり方が書いてあるよ。
GCCのバージョンもこれ以上の物をつかえって書いてある。
で、いきなりだけど2.6.25.2がつい先日出たと思ったら2.6.25.3がいきなり来てるw
SATAスレから移動してきました。 libataのPATAコントローラで、ディスクにエラーがあって UDMA/100->66,33,PIO4へとフォールバックしてしまった コントローラをUDMA/100に戻すのに、リブート以外の 方法ってあるのでしょうか?
>>176 BKLってどこで使われてたっけ?
mountとかドライバとか?
2.7 or 2.8ってまだ影も形もなし? 2.6でどこまで引っ張るの?
>>177 NFSまわりには大量に残っていたような・・
>>178 LKMLの削除予定な互換機能をいつ消すかという議論で、だれかが、これは2.7で消すとドキュメントしてあるけど、
2.7って一生出そうにないから、今すぐ消しちゃっていいんじゃない。
とか言い出したときに反論が誰からもあがらないレベル。
> Linuxカーネルメーリングリスト(LKML)の議論では「もうカーネル2.7は出ない」ともいわれており 2.6.99までいったら次は2.6.100?
>>184 いま、2.6.25だから、あと75回のリリースが必要、いまのところ3ヶ月に一回リリースだから1年回に4回のリリース、
つまり75/4で18.75年後か。
もうLinux自体がなくなってるんじゃね?
>184 2.1 は 2.1.132 まで出てる
でも今カーネルって世界の大企業が金をかけて開発に参加しているんでしょう。IBMとか。 リーナスが居なくなってからどういった流れになるんだろうね。 その頃はPCなんて開発者かマニアしか持ってないかなw 今のPCと同じくらいの性能が携帯や テレビに組み込まれるか、もっと用途を特化(家電化)した物になるかな。 アプリを入れ替えてなんでも出来るってPCはマニアと開発用、20年前とある意味状況が似てるなw
家電業界が閉鎖的だから無理じゃね?
189 :
login:Penguin :2008/05/23(金) 06:13:03 ID:S91UB5ne
もうLinuxは役目を終えたよ さようなら・・・
まだ始まってすらいねーよ
永遠に始まることはないかも。
Riserには、信者いるから怖くて出来なかったんじゃね?
忘れたのか、お前ら・・・ ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! ジーク レイサー ! 朝昼晩と唱えよ。
発音はライザーではないのか?
一つ質問 スケジューラーって何でラウンドロビン?
俺は殺してない! 俺はやってない!
だ〜れが、ころした ラウンドロビン???
200 :
login:Penguin :2008/05/25(日) 07:17:53 ID:iSyhNPh1
201 :
login:Penguin :2008/05/25(日) 07:26:54 ID:I72gntmD
runq の扱いについて調べる限り、 単純なラウンドロビンにはないっていないようだけど、 そもそも何かを「順に」やらせるのがスケジューラだからなぁ。
スケジューラクラスをFIFOにすれば、ラウンドロビンから逃げられるよ
203 :
login:Penguin :2008/05/25(日) 20:12:49 ID:33xpzD5A
>>201 そういや、SJFとかSRTF、FCFSにしなかった理由って何なんだろうね?
良く知らんけど
>>203 カーネルはどのプロセスが短時間ジョブかは知らないだろう。
統計的な予測はできるじゃん。という反論はあるが、まさにそのヒューリスティックな予測がバグっていたから、
Fair なスケジューラほしーーって議論になったんだよね。
逆にいうと、いかなる予測をいれても、そのアルゴリズムにつけこんでCPU時間を余計に分捕るプロセスはつくれてしまうので、
汎用OSには向かないんじゃね?
という意見はあるんだろうね。それが真実かどうかは知らんが。
あと、POSIXが要求している仕様(nice値が40段階あって、それとは別にRRクラスとFIFOクラスがある)がいくつかの
スケジューラを選択不可能にしてるわな。
POSIXなんて古くさいもんにこだわって利便性すれのもいかがなものか
それはLinuxをかなり根本的な所から否定してないかい?
>>205 POSIXは実装すべきインタフェースを規定してるだけ
あと、実装の仕方は自由
POSIXに準拠していないとペンタゴンとかに納入できない〜
209 :
login:Penguin :2008/05/26(月) 06:11:59 ID:1U7r21z/
POSIX対応はオプションにすれば良い。 ………Windowsみたいに
POSIX対応、というかUNIX互換がオプションなのはXPだけです 2000もVIstaも標準でついてきます
intel製GBit ether I/F用の ドライバのe1000の更新履歴を読みたいのですが、 どこを探すべきなんでしょうか? intel からダウンロードしたsrc内に含まれておらず、 途方にくれています。
>bad pmd ffff810000207238(9090909090909090) ファイヤーウォールの中のマシンだから、 何か送り込まれるはずはないんだけどなぁ.... と言ってた日本人のその後が知りたい...
>>213 いや nop nop nop は他に考えられないだろ。常考
215 :
login:Penguin :2008/05/29(木) 02:03:31 ID:RqPZ5P46
何かカーネルのver上げたら起動時にiptables-restoreとか実装されてたんだが これいつのverのkernelから実装された?
217 :
login:Penguin :2008/05/29(木) 13:13:58 ID:j9BUJtS8
>>216 ずいぶん前からそのスクリプトなかったっけ?
>>217 今まで2.6.18.*使ってたんだが、2.6.25.4を試験的に適当にぶち込んでみたら実装されてたんで
いつからサポートされるようになったのかなーと
>>215 おおっ、ありがとう。
sourceforge まじめに見たことがなかったので、
Notesのアイコンは、ただの装飾だと思ってた。
>>216 カーネルソースにそんなスクリプトは無いが?
221 :
login:Penguin :2008/05/30(金) 22:13:00 ID:4dggi27y
kgdbマージは嬉しいというよりもやっとかー!という感じ。 cgroupは期待。 マージについてはリリースプロセスよりそもそも作ってるものの品質管理汁。
KernelWatchいつも読んでる これ読んでる人多そうだな hdx sdx 扱いの情報のときは非常に役に立った
cgroupはどの辺が期待大きいの?
>>213 なんか、Hugh Dickinsが以下のパッチで直したっぽいね。
Signed-off-by: Hugh Dickins <
[email protected] >
---
arch/x86/mm/init_64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- 2.6.26-rc4/arch/x86/mm/init_64.c 2008-05-03 21:54:41.000000000 +0100
+++ linux/arch/x86/mm/init_64.c 2008-05-28 17:38:19.000000000 +0100
@@ -206,7 +206,7 @@ void __init cleanup_highmap(void)
pmd_t *last_pmd = pmd + PTRS_PER_PMD;
for (; pmd < last_pmd; pmd++, vaddr += PMD_SIZE) {
- if (!pmd_present(*pmd))
+ if (pmd_none(*pmd))
continue;
if (vaddr < (unsigned long) _text || vaddr > end)
set_pmd(pmd, __pmd(0));
226 :
login:Penguin :2008/06/02(月) 02:26:22 ID:4+cxl5O4
www.kernel.orgからダウンロードした カーネルをコンパイルしたいんですが、 Fedora core 1 + glibc 2.3.3 + kernel 2.4.28 (日経Linux 2005/2)とか Fedora core 5 + glibc 2.4 + kernel 2.6.16.1 (日経 自分で作るLinux) のように、素直(?)にコンパイルが通る、gccとglibcとkernelの 組み合わせってどうやって調べればいいのでしょうか?? 例えば下記の組み合わせとかだと、エラーが出てコンパイルできないんですが・・・? fedora8(kernel2.6.23.1-42, gcc 4.1.2 20070925)+linux-2.6.24+glibc-2.7: libc_pic.os: undefined reference to '__sync_fetch_and_add_4' libc_pic.os: undefined reference to '__sync_val_compare_and_swap_4' libc_pic.os: undefined reference to '__sync_bool_compare_and_swap_4'
>>228 いや、エラーメッセージにlibcがどうのって書いてあるって事は、彼はカーネルではないものをコンパイルしている。
230 :
226 :2008/06/03(火) 02:09:26 ID:A/4i6670
・・・kernelでなくて、glibcのコンパイルで ひっかかっているんでした。 ググってみるとgccを、configureに-with-arch=i686をセットして リビルドする必要があるそうな・・・。 gccのコンパイルって簡単にできるのかなぁ? とりあえず、今日はここまでで。。。
gccのコンパイルは簡単だよ。 glibcに比べると問題も少ないと思う。
なんでまた Fedora なんかで glibc をコンパイルしているんだ…
>なんでまた Fedora なんかで glibc をコンパイルしているんだ… ?
仕事でカーネル開発してる会社に入りたいんだが おすすめの所があったら教えてほしい
マイクロソフト
windriver
KFC
えっ?みんな趣味でカーネルいじってんの? 俺は仕事でカーネル開発できてるからその延長でやってるんだけど みんな同じようなもんだと思ってた
>>235 カーネル開発を楽しみたいなら、それを本来業務にするとそのうちツラくなるんじゃね?
ハード屋のドライバ部門か、オープン系システム屋のインフラ部門を勧めておく。
つらい事もあることはあるけど、ほかと比べたらずっとマシだと思っている俺がいる。
lttngってKernel 2.6.11に当たらないかな?
>>242 そんな古いバージョンを使ってるって事はバニラなやつじゃなくて、ディストリの手が入ったやつなんでしょ。
だとすると、誰にも答えようがないわな
>>243 mvに聞いたらカスタマイズ必要で5000万って言われた
あすこボリ杉なんだよ
起動時のUSBデバイスの番号割当ってどういう順番に割り当てられるのでしょうか? バス番号はPCIのアドレス番号順に割り当てられています。 uhci_hcd 0000:00:1d.0: new USB bus registered, assigned bus number 1 uhci_hcd 0000:00:1d.1: new USB bus registered, assigned bus number 2 uhci_hcd 0000:00:1d.2: new USB bus registered, assigned bus number 3 ehci_hcd 0000:00:1d.7: new USB bus registered, assigned bus number 4 2本のUSB-serialアダプタのケーブル(同じメーカーのもの)が指してあるのですが、 バス3のが先に認識されてttyUSB0となりバス1のがttyUSB1を取りました。 Jun 5 16:30:09 localhost kernel: usb 3-1: pl2303 converter now attached to ttyUSB0 Jun 5 16:30:09 localhost kernel: usb 1-2: pl2303 converter now attached to ttyUSB1 数回再起動してみましたが同じ割当でした。4本ほど刺す予定なのですが、この順番は 起動時に一貫している事は保証されているのでしょうか?
udev使え
>>244 mv って Monta Vista ?
>>247 そそVistaってつくのは糞だと確信した
249 :
login:Penguin :2008/06/08(日) 12:33:56 ID:7MPo+476
カーネルの更新についてなんですが。 カーネルが2.6.23.1-42.fc8の時にfedora8をインストールして使っていて、 それ以来カーネルのアップデートがある度に、更新しているんですが その度にネットワークに繋がらなくなります。 eth0の検出で失敗します。カーネルのバグとの情報を得たので、 いつかeth0をすんなり検出してくれるカーネルが登場するのを待っていましたが ついにfedora9になってしまった・・・。 なにか対策はないでしょうか?
>>248 LTTngは機種依存部がx86_64とPowerPCしかないから、組み込みへのPortingに5000万はあながち無茶じゃないよ。
と、いうか、組み込みで使うって事はチューニング用途でしょ?
チューニング用途で、OprofileよりLTTngがうれしいときってどんな時よ?
>>250 5000万て一体何人月突っ込むつもりなんだよ。高杉
>>251 どうせ実作業はUSになるんだからそんなものだろう。
>>251 一部うごかねーけど
ARMとsh4向けのパッチとかgoogle探せばあるよ
Oprofileでdlopenした関数のプロファイル取れないと
思うけど、それは認識違い?
LTTだと一応、ユーザ空間用のPrint文差し込めばLttでトレースできるんだけど
>>254 PCレジスタの値まではとれるんだから、そのあとの関数名への変換ぐらい自分でスクリプト書いて変換するだけじゃん
妬み見苦しいよ。
ブログの方も宣伝だらけだから見てこいや と宣伝
LKMLの方でも頑張ってますな。 Reviewd-byなんて誰も見てねえと思うが。
なんか返事が来てるな。 LKMLは用がありゃ書くよ。まあCc:に入れるのがほとんどだが。 Reviewed-byはどうなのかなあ。 俺のは基本的にレビュープロセス無いから、数日つうのが早いのかわからん。
ありゃ。260はメンテナな人だったのか。こりゃ失礼。 でも、まじな話、メモリ系はレビューワ足りてないのよ。他のサブシステムは知らないけど。
ユーザモードlinuxをデバッグでステップ実行させたいんですが コンパイルするとき最適化を無効にするフラグはないのでしょうか? CFLAG="-g -o0"を使うとコンパイルエラーになってしまいます。
>>262 そりゃ"-o0"じゃエラーになると思うわけで。
CFLAGS="-O0"でないかい。
-gは
- "Kernel debugging"
-- "Compile the kernel with debug info"
あたりで付けられたような気がする。
Radeon4850のドライバないのですけど ATIのバカ野郎はいつになったら用意してくれるの?
AMDのバカ野郎にそんな能力も度量もあるわけないじゃん
なんかAMDの中の奴から Radeon HDのドライバ7月に出したいなとか ふざけた事抜かしためーるきたぞ
>>266 やっぱAMDのチップの中に人が入っていたのか。
カーネル2.4は、1プロセスが複数の共有メモリを同時にアタッチしたり デタッチしたりするようなことを許してますか?
>>269 あたりまえだろ。逆にそれができない処理系があれば知りたい。
>>270 VRAMを共有メモリに使ったりとかそういう窓を使うタイプのものなら同時に複数にアクセスは出来ないと思うけど・・・
・・・そんなの想定しても無意味だわな
kernel 2.6.25 にしてからだと思うのだが、 ThinkPadのバッテリーのもちが2〜3倍長くなった気がする。 気のせいかな?
ちょいと質問させてくださいな。 2.6のI/O schedulerに関してなんですが、elevator=as(anticipatory)とCFQ (Complete Fair Queuing)だと ワークステーション用途だと、どっちがパフォーマンスがいいんでしょうか? 使用CPUはXeonのHTという、ちょい昔のやつです。 現在使用のkernelは2.6.25です。
すまん。ちゃんと6月のネタも入ってるのね。
kernel-2.6.25-14 と 2.6.25.6 って、後者の方が新しいようですが、 バージョン番号の見方がいまいち良く判りません。 一見すると前者の方が新しいかと思ってしまいました。 どこかにルール書いてませんか?
どっちが新しいかなんてChangeLog確認しないとわからんよ つまりはそういうこと
>>277 -14の部分は鶏の付けた番号でしょう。 鶏のバージョンとkernel.orgのバージョンの関係は鶏ごとに違う。
>>277 kernel.orgがつけるのは「-」がつかないですよ。その「-」以降の数字や記述は
自分でカーネルコンパイルする時に好きなように変えられます。
その例だと VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 25 EXTRAVERSION = -14 EXTRAVERSIONはディストリがリリースする時や自分で 再構築を行う際に区別するために付けるみたい 1回目のビルドの時はEXTRAVERSION = -1のようにし 2回目以降は数字を増やしていく。 ※/usr/src/linux/Makefileを参照
patch-2.6.25.8-9.bz2より diff --git a/Makefile b/Makefile index e18e2b8..3eb71f8 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 25 -EXTRAVERSION = .8 +EXTRAVERSION = .9 NAME = Funky Weasel is Jiggy wit it # *DOCUMENTATION*
>>277 「Linuxカーネルのバージョン番号には、どのような意味がありますか?」でググれw
本家の物は4桁目も立派なバージョンみたいなもんで必ずカンマの後に数字。
だから最近はEXTRAVERSIONをいじらないでconfigメニューの中のCONFIG_LOCALVERSION
を使うみたい。
-14なんてのはディストリなどが本家の2.6.25か2.6.25.*の中のどれかをベースに手を加えた
物でしょう。自分はubuntuですがパッケージの2.6.24-19.34のソースを落としてきて
解凍した中のMakefileを見るとEXTRAVERSION = .3になってました。
MakefileのEXTRAVERSIONが-14などに書き換えられていたら、自分でChangeLog探して
違いを見つけるか、-14を作った所(ディストリなど)の情報を見るしかないでしょう。
やっぱりLinuxは犯罪者が作ったOSだったんだな 次はリーナスだな
てか俺、カーネルビルドする時のオプションでReiserとかXFSとか、あとアップルのファイル システムとか他のOSで使うような奴も全部「N」ですお。。。素人にext3意外使えるわけ ないだろww
素人は自分でカーネル再構築したりしませぬ。
struct uccontextのuc_mcontextの内容 詳しく書いてるmanないですかね 困った
X86_64と32じゃnmの中身全然ちがくね?
>>288 arch/hoge/kernel/signal.c
manは見たことねえな。
dladdr1()は64bitだと正常に動作しない? saddr取れるのにsnameにゴミが入る たじけて
49441874 7月 13 22:43 linux-2.6.26.tar.bz2 どうですか?
今回はアップデートらくちんだったわ
ついにppc,ppc64のpowerpcへの統合が完了して ppcがツリーから消されるね。 この教訓があったからこそ(s390,s390x),(i386,x86_64),(sh,sh64) の統合が素早く行ったとも言える。 sparcは統合するつもりはないのかな。
ついにv850がlinusのツリーから消えた
Adrian Bunkの執念ですか。 さっき大量にakpm→linusがあったからそろそろrc1リリースですかねえ。 今回はパッチでかそうだなあ。
>>299 NEC系アーキテクチャはこれで全滅?
チップはよくてもソフトが・・・
mipsにVR対応コードがある。 NEC系と言うには微妙だが。 V850の環境があればついでで面倒みてもいいんだが、 簡単に手に入りそうにないしなあ。
カーネルをチューンするのは一般的なのでしょうか。 そうだたとして、ディスクのアクセスが激しい場合のチューンのこつなどを教えてください。 現在、2.6.18-92.el5 (CentOS 5.2) を使っています。
>>303 今ではそう一般的ではない気がする。ディスクのアクセスが激しい時はむしろ
hdparm とかプログラムを見直すとかメモリ増やして tmpfs とかのがいいよう
な。
いまどきはハード的な対処が主流だけど I/Oのスケジューラ(?)やFSのパラメータ変えたりも意味あるとおもうよ。
( ゚д゚)…
(゚д゚ )
>>303 カーネルのI/Oスケジューラ絡みだと
- elvtune コマンドでパラメータの調整
- ブート時に elevator オプションでI/Oスケジューラの選択
とか?
ファイルシステムに関しては、マウントのオプションでジャーナリングの挙動を変えたり、
フォーマット時にブロックサイズを変更したり。
あと、I/Oが多いが必ずしも高速に処理する必要はないプロセスに対してはioniceとか。
とりあえずトピックだけ列挙してみました。
AMD用のマイクロコードローダーのパッチが来てるようだけど 肝心のマイクロコードはどこからダウンできるのだ?
そらAMDが配るんでないかい。 必要になることが無けりゃいいが。
311 :
login:Penguin :2008/07/31(木) 20:57:01 ID:0zpcPWn+
include/asm-$(arch)/ から $(arch)/include/へ大移動中
LFSで自分でカーネルから手ビルドした場合 ルールを遵守しないものを作って勝手にばらまくのは 問題ないでしょうか?(ソースは全部公開します。)
-CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) -g0 -O99 -fomit-frame-pointer -D__USE_STRING_INLINES -CFLAGS-.os += -g0 -O99 -fomit-frame-pointer -D__USE_STRING_INLINES +CFLAGS-.o = $(filter %frame-pointer,$(+cflags)) -g0 -Os -fomit-frame-pointer -D__USE_STRING_INLINES +CFLAGS-.os += -g0 これって変更する価値と意味ある?
>>315 意味はまったくないな。常識的に考えて。
せいぜいタグジャンプをつかってない連中がgrepしやすくなるぐらいか。
317 :
login:Penguin :2008/08/04(月) 08:47:08 ID:xqFlDpKR
>>318 例によって、今日は4/1じゃないよ。来年の4月まで待ちたまえって言われてたな。
てゆーか、kgdbとくらべて能力的なメリットがよく分からないし、コードがコーディング規約違反しまくりなので
絶対入らない
>>319 ホスト側にgdbがいらない
くらいしかないと思う。
>>318 なんか頑張ってるようで。
ライセンスがGPLv3つうのは笑わしてもらったが。
entry.S: Assembler messages: entry.S:183: Error: bad or irreducible absolute expressionってなんですかいな? sh4-linux -D__ASSEMBLY__ -D__KERNEL__ -I/usr/src/linux-sh-2.4.26/include -ml -Wa,-dsp -g -m4-nofput -c -o -entry. entory.S 助けて欲しいな?
とりあえず、メッセージを *正確* にコピペしてくれ。
entry.S: Error: bad or irreducible absolute expression の検索結果約 81 件中 1 - 10 件目 (0.67 秒)
>>322 >助けて欲しいな?
どっちなんだよw
とりあえず、entry.Sの183行めにアセンブラが評価不可能な式が書いてあると言っている。
アセンブリ文ののエラーなら、何か未定義なシンボルとか無効な演算とかそんなじゃ
ないかと思う。一般的には。
ただ、こんなこと聞いてくるくらいだから、このファイル自体は自分でいじってないよね?
開発のレポジトリからビルドすら怪しいコードをチェックアウトしたりしてないよね?
sh4-linuxと書いてあるが、正しい開発環境の上でやってるか大丈夫かね。
PSQL利用時に毎秒sys_read250万回実行されています。 これは多いのでしょうか少ないのでしょうか
SYSCALL : sys_read; RIP : 0x00000000 これのRIPって何の略語ですか? 調べてもまったくもって意味不明です
328 :
login:Penguin :2008/08/26(火) 22:49:14 ID:J7dVd4Ba
レジスタ名だろJK
>>328 それだとEIPが入ると思うのですが?
違いますか?
>>329 8086の時はEIPじゃなくてIPだったろ?
>>330 それは現在のLinuxでは確認できないので除外するでしょ
rest in peaceだろ女子高生的に考えて・・・
>>332 なぜに女子高生?
あれって元はラテン語のrequiescat in paceらしいな
>>329 x86_64なら違います。
と思ったが、ビット数が少ないのが気になる。sys_read と言ってるのに
RIPが0x0というのも謎だし。
>>335 まったく関係ない。
なんにしても
・CPU
・kernel version
・前後のメッセージ
あたりがわかんないと調べようがないな。
"SYSCALL :" or "SYSCALL:"で調べても何も引っかからん。
%ip:16bits %eip:32bits %rip:64bits
338 :
login:Penguin :2008/08/28(木) 12:27:59 ID:Iqmmut8G
RIP相対アドレッシングだと 差分を32bitで指定するから、それが0なのかな?
339 :
login:Penguin :2008/09/01(月) 20:31:22 ID:4ZcdB5yW
新規カーネルでのブートに失敗した場合(一定時間以上経っても 特定の処理に達しない場合)に、別途設定してあるバックアップ用カーネルでブートする という仕組みを作ってくれないだろうか。 そういう仕組みがあれば、特別なハードウエアをつけなくてもリモートでサーバの カーネルを更新したりできて良いのだが。
ブートに失敗したことを検出するのに、なんかしらのハードウェアがいるんじゃないか? 特別かどうか知らんけど、たとえば watchdog とか。
書き換え禁止のカーネルの上で起動するカーネル? それ、なんてXen?
>>341 素人考えですまんけど・・・いやなんでもない
>>340 PXE+IPMI使えばできるな。
通常時:
1. 起動
2. 起動後に生存パケットを飛ばす
3. IPMIでの再起動抑制
異常時:
1. 起動途中でハング
2. 生存パケットがTFTP後5分以内に来ないので異常フラグ立てる
3. PXEboot kernel切り替えて、IPMI reboot
345 :
login:Penguin :2008/09/03(水) 08:48:18 ID:PqzS2fRg
カーネルの再構築について教えてください。 make make modules make install make modules_install ってやると、vmlinuzではなくvmlinuxが/boot以下にインストールされるのですが、 vmlinuzをインストールするにはどうすればいいのでしょうか?
/usr/src/linux/arch/x86とか/boot/らへんからコピーすればいいんじゃ
348 :
login:Penguin :2008/09/21(日) 07:49:35 ID:tIiHJUK6
あげ
来年のカーネルサミットは日本か。 今頃今年のレポート読んでる...
よしROM専で参加するぉ
なにーRuntime Operating Module専門家なんですか? それはやられたなあ。
real otaku mode
挫折おめ
354 :
login:Penguin :2008/10/04(土) 19:13:09 ID:ARyH8epO
Linux カーネルの設計図って無い? ソースコードなんか読んでられないんだけど。
355 :
login:Penguin :2008/10/04(土) 19:35:03 ID:Y45eK7HG
読むんじゃない 感じるんだ
設計図って無い?→× ちょとソースパーサと視覚化ソフト作ってくる→〇
>>354 そもそも何がしたいわけ?
単に知りたいだけなら、本でもWebでもいろいろあるが、
将来的に開発に関わっていきたいなら、実装なんてころころ変わるから、
ソース読めるようになるしかないよ。
Linuxソース読めないって スキル低すぎじゃないか? あんなに綺麗なソースめったにないけどな
ソースは綺麗だがロックレスにするための最適化とかは難解じゃね
>>363 切り出せるじゃん綺麗なら依存関係
解るってことだろ?ただ理由付けて、労力惜しんで真に理解できない
だけだろ?
解らないなら、古くて遅いコード読んで流れだけ
把握すればいいし、そこからgitで0.0.1ずつ上げて
いって差分追えばいい
楽して理解なんてできねーから
どうやってロックをなくすの?
変な改行してるけど、縦読みってわけでもないんだな。
368 :
login:Penguin :2008/10/05(日) 22:38:41 ID:CybLamJ3
CAS使ったって結局スピンループして待つわけだからロックと同じじゃなくて?
>>368 java.util.concurrentのアルゴリズム見てこい
あとlock-freeで検索して論文見ろ
お前ら本当に不勉強のバカばっかりw
知る者が知らざるを者を罵倒する。これは日本人(固有)の得意技。
>>370 UNIX (Linux) 関連に多い気がス・・・
あと、利権産業(土建屋 etc)ねw
教えてもらったものが教えたものをひがむ これこそ日本人固有の得意技
>>369 ,372
来なくていいから。お前の中身など何の価値もない。
>>368 locklessといっても実はいろいろあってな。
代表例をあげていく。
まず、時刻更新時のxtime更新処理。これは速度云々以前にタイマ割り込みの延長で走る更新処理が遅れちゃいけないという制約がある。時計狂いに直結するから。
だから、普通のread/write lockでは不十分で、「どれだけreaderがいても、writerは(待ったりスピンしたりせずに)即座に書き込めるロックが必要。
逆にreaderはwriterがごにょごにょやってるときは、多少処理が遅くなってもかまわない。だって時刻更新なんてせいぜい1000Hzでしかおきないレアイベントなんだもの。大局的には誤差。
詳細は、seqlockとかシーケンスロックでググってくれ。
次はRCU。
ようするに更新するときに、古いデータが載っているメモリを直接書き換えるのではなく新しいデータが載ったコピーを作る。
んで、read側は古いデータをちゃんと読めるのでロックいらず、write側がread側が知り得ない新しいコピーに書き込めるのでロックいらず。
というアイデア。
なんと、read側はCASもメモリバリアもいらないという最強アルゴリズムなのでlinuxでは適用箇所がガンガン広がっている。
もちろん、read側がクリティカルセクション抜けたときに(ガベコレ的な感覚で)あとから古いデータの削除処理が走るので、適用箇所によってはキャッシュヒット率の関係で性能が下がるときがまれにある。
まあ、readが大多数のデータ構造にしかつかうなってこった。
RCUはCASを使わないからここでは話が違うよね。 x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。 ロック獲得待ちで待たされるのもCASでリトライしてループするのも 処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの? xtimeの話だってreaderをスピンループさせる(待たせる)訳だし 374も「即座に書き込めるロック」と言ってるよね。
376 :
login:Penguin :2008/10/07(火) 03:38:15 ID:EDU2AzIp
2.6.24で行われたvideobufの仕様変更について教えてください。 ヘッダファイル(video-buf.h)が移動しただけでなく、 videobuf_bufferからdmaが無くなる等、構造体も変わってしまっています。 この辺りの仕様変更に伴う、移植指南のようなものは無いでしょうか? クローズドソースのドライバを移植したく...
知ってるけどおしえませーんw ウヘヘヘヘ
同じく。 構造体とAPIの変遷をサンプルコード付で辿れると嬉しい。 git show-history-with-examples とかできると完璧。
>>376 本当に知りたいなら労力かけろよ
あとうぜーなってぐらいもっと詳しくかけよ
とりあえず、2.6.24と比較対象にしている版は
2.6.23でいいのか?
お前が興味あるなかでvideobuf_bufferは最上位
の構造体なのか?
その辺答えてね
さっさと教えろよコラ
381 :
374 :2008/10/08(水) 00:01:55 ID:XuxrYF0I
>>375 > RCUはCASを使わないからここでは話が違うよね。
> x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。
ほとんどのディストリはvolunteer preemptionでコンパイルされているから気にしなくていいという認識。
・・・組み込み屋さん?
> ロック獲得待ちで待たされるのもCASでリトライしてループするのも
> 処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?
えーと、spinlockの実装がまさに、CASでリトライしてループだ。
んで、ロックだけのコストで見るとspinlock最強。
じゃあ、なんでlocklessとかwaitfreeにこだわるかというとほとんどの処理は、ロック獲得処理の重要度に非対称性があるから。
xtime の話だとreadがどれだけ遅くなってもwriteがwaitfreeであることに価値があるし、
一般的に、ほとんどのデータ構造はwriteよりもreadアクセスの方が圧倒的に多いからwrite処理が10倍重くなっても
readが数%軽くなるだけで全体のパフォーマンスが上がったりする。
382 :
login:Penguin :2008/10/10(金) 05:59:54 ID:QDBTpe1+
2.6.27 キタ
ついさっき 2.6.26.6 がきたと思ったのに
俺なんか2.6.27-rc9ビルドしたの昨日だぜ?w
ま、そんなもんさw
>>385 俺もw
で、さっき2.6.27にした。
何が変わったのかわからんw
2.4で、NFSが古いタイムスタンプを表示するという障害が出てます。 3ヶ月〜2年程度なのですが、考えられるバグはありますか?
>>390 NFSの時刻はサーバがもっているものなんだから、サーバが本当に時刻が狂っているとか、サーバがLinuxじゃなくて相性問題が出てるとか。
ネットワークをプローブして、プロトコル解析してサーバが送っている時間をみてみたらどう?
>>391 2.6では同じようなバグがあったのですが、2.4では見つかりませんでした。
>>392 OSが持っているキャッシュを表示しているようです。
カーネルに入る前みたいな話で難ですけど、 set_bios_mode()ってのがarch/x86/boot/main.cにいて、 そこでint 15hをAX=0xEC00で呼んでるんですけど、これは何が起こるのでしょうか?
/* Tell the BIOS what CPU mode we intend to run in. */ て書いてあることが起きるんでないかい。 INTERRUPT LISTには書いてないのね。 新しすぎるんかな。
>>394 たぶんだけどEMT64のmixedモードの判別に使ってると思う
その見てるコードの欠片の近くにbx=0x03みたいなコード無い?
2.6.12〜2.6.22のarch/x86_64/boot/setup.S 325 # tell BIOS we want to go to long mode 326 movl $0xec00,%eax # declare target operating mode 327 movl $2,%ebx # long mode 328 int $0x15 それ以前はどうやって開発してたのかさっぱり知らない新参者なので昔のは知らない…。
398 :
394 :2008/10/15(水) 21:00:04 ID:NwHso+Di
>>395-397 レスThxです。「int 15h EC00」などで検索かけても不思議と見当たらないんですよね。
E820ならうじゃうじゃ出てくるのに。
で、long mode=64bitモードに切り替えるってことですか、x86_64用にマクロで囲っているし。
プロテクトモードに遷移する時と比べると意外とあっさりだなと思ってIA-32 arch.のvol. 3A見たら
Fig.2-3では実アドレスモードからは直接行けないらしくて・・・その辺System Manage Mode経由で遷移とか
BIOSの中の人がやってくれてるのでしょうか。
よく分からないけど、BIOSに通知することでIO回りとかでなんかご利益があったりするんでねーかな? モード推移だけなら決められた手順でやればいけるはずだと思うんだけど。 その辺はphenixがoemとかにしか開示されてないのか分からないけど、取り合えずここはそういうコードということで…。
400 :
login:Penguin :2008/10/15(水) 23:05:58 ID:hONPkhnE
make vmlinuz make zImage make bzImage の3つの違いを教えてください。お願いします。
2.6.27.4をDebian/lennyのmake-kpkgでビルドしてインスコしてみたけど、ブート直後に/initがありません。と言ってpanic起こすのですが、上手く行った人いますか? configは2.6.26系からいじっていないんだけど、どこか設定がまずいのかな??
make-kpkg --initrd
>>404 それはやりました。
故になんでだろうな…と言うことです。
>>403 そのエラーは普通はFSかストレージのドライバがOFFになっているか必要なオプションがついていなかったかで、マウント出来なかったときに表示されるんだが、今回は違いそうだな
失礼ながら403氏のうっかり手順ミスの可能性が一番高いので
(1) 2.6.26でもう一度ビルドしてブートするか確認
(2) 2.6.27でまったく同じ.config と、まったく同じビルド手順でブートするか確認
とやってみてくれない。
407 :
login:Penguin :2008/11/04(火) 21:44:20 ID:iceok3E4
408 :
login:Penguin :2008/11/04(火) 22:18:56 ID:BBZMQ50A
板違いですみません。 Windows Server 2003にて、カーネルパラメータチューニングは 可能でしょうか? I/Oサイズの変更です。 どなたか教えていただければ幸いです。
板違い。
pata_platformのリソースをplatform_add_devicesで登録しているのですが、 このボードはCFとIDE両方持っていて、IRQが14と15に割り当てられてます。 IRQ14の方のCFを登録した瞬間に ata1: PATA max PIO0 ioport cmd 0xb61001f0 ctl 0xb61003f6 irq 14 irq 15: nobody cared (try booting with the "irqpoll" option) と出てしまってIDEの方が登録できないのですが、これは IRQ15のIDEを登録する前にIRQ15の割り込みが飛び込んできて しまっているということでしょうか? その場合、初期化時は割り込みをマスクしておくのが正しいのでしょうか?
411 :
login:Penguin :2008/11/06(木) 16:17:55 ID:04JlPoOk
vmspliceで socket-socketでデータ送受信できねぇ なんか別の方法知らないですか? PF_RINGってどうなのかな?
過去のkernelのパッチ情報がデータベース化されているサイトって どこかにありませんか? 故あって古い版数使ってるんだけど、偶にサイレントクラッシュするので その版数以降の修正済みバグからクラッシュの原因を追いかけたいんだけど… ChangeLogを見てみたらテキストファイルで50MB、 修正件数にすると8万件近くあって、手動ではむりぽorz
kernelの問題だと思った根拠は?
>414 ログが全く残らないことより。 HDD上のログファイル、コンソール、Trap、NvSRAMのどれにもログが残らず、 暫くしてからwatchdogのオーバーフローでreboot。 同じHW構成の別筐体でも発生するので、カーネルが固まったと判断しました。 >415 情報ありがとうございます。 が、私の件では発生のトリガーが不明なので、現象を再現させることができません。 発生頻度も半年に1回程度なので、try&error方式はちょっと厳しいです。 git bisect自体は初耳のツールだったので、別件でトラブった時に活用させていただきます。
watchdog止めてみたりはしなかったの?
x58 + core i7 対応kernel ってリリース予定ありますか?
ないよ
>>410 ベンチ回しただけでCPUの温度が90度まで上昇する
CPUなんかに対応しねーだろw常識で考えろ
突然の質問をご容赦を. task_struct構造体内にchar comm[16]以外に実行プログラムを識別できる情報 は入ってないんでしょうか. カーネルのソースレベルでtask_struct構造体をのぞくだけじゃ,このプロセスは このプログラムが実行されている!って判別できなくて困っております. どなたか良い知恵をご教授ください.
>>423 ls -l /proc/self/exe を追っかければいいんじゃない?
保守
427 :
login:Penguin :2008/12/25(木) 16:41:49 ID:myw3s4fY
やっぱクリスマスにだすと思ったぜw
428 :
login:Penguin :2008/12/25(木) 16:53:09 ID:myw3s4fY
俺にとってはリーナスはサンタになったな
さっそく、2.6.28のバグ報告を Dear Santa! ではじめたバカ^H^H 空気読んだ人が出現してたよ
SPARCも32/64統合か。 これで全部終わるんだっけ?
431 :
login:Penguin :2008/12/30(火) 13:42:59 ID:o22EezVq
>>430 kernel2.26.27.10->2.26.28にしたら
USBのラジオと温度計が動かなくなってしまった。
usbhidのところが変わったみたい。
カーネル内でダブルフォールトが発生して困ってます。 panicするのは例外のベクタに飛んだ後なので場所が見当付かず... x86のマニュアルには「ある例外の例外ハンドラを呼び出している最中に次の例外を 検出」とありますが、 とりあえずリモートデバッグで一個目の例外を拾ったりすることはできるでしょうか。
環境は?
>>435 環境は、Ubuntu 8.04 を Apple の MacBook というマシン (Core 2 Duo)でネイティブ
に動かしたり(起動時には Boot Camp という機能が使われるが、基本的に普通の
x86 PC 用のディストリビューションを走らせている)、
あるいは VMware Fusion (Mac OS X 上の VMware) の中で動かしたりしてます。
Linux に ABI の異なる他の x86系 Unix のバイナリを走らせる機能がありますが、
それが面白いなと思って、自分でも新たに真似してみて、それでトラブルに陥ってます。
ほんのちょっとだけ動くようにはなったんですが。
なので「腐ったコードを自分でカーネルに入れてそれを解決できないお前が悪い」と
言われればそれまでなんですが(w こういう場合にどのようにデバッグすべきか何か
指針でもあればなあ、と思っています。
とりあえずリモートデバッグしてみたのですが、ダブルフォールトで飛ばされた後は
スタックトレースもほとんど残らず、問題がどこで起きているか見当がつかない状況です。
腐ったコードが悪いじゃないの?
ダブルフォルトを防ぐにはひたすらサーブ練習しかないと思うんだ。
この寒い朝から、
http://planet.kernel.org/を読んでいたんですよ 。
で、なんか珍しく日本語!?とおもったら、、、
>Pete Zaitcev: ツンデレ★りなっくす
>「ツンデレ★りなっくす」がほしいです。 Maybe I should add it to some kind of wishlist? Too bad it doesn't work across countries.
一期に眠気が冷めた。
440 :
login:Penguin :2009/01/11(日) 09:17:31 ID:+FAIhDLJ
おーい、だれかマケプレで買って奴に送ってやってくれw
>>444 俺も詳しいことはしらんよ。けどCONFIG_HZ=250ってのは1秒間に250回タイマ割り込みをする、という設定らしい。
つまり4msに一回タイマ割り込みを発生させる。
CPU制御というかタイマー割り込みね。
>>444 それはOSの時計の精度を決める奴だよ。操作性とかにも影響する。
250Hzだと4ミリ秒単位、1000Hzだと1ミリ秒単位。
精度を上げすぎると負荷が上がったりハードウェアの制御で不具合が出るから
多くても1000Hzにしてある。
後、変更するにはカーネルの再構築が必要で、環境によってやり方が違うから自分で調べよう
GEMってなにか設定いるの?
いつになったら PF_RINGって標準で使えるようになるの?
>>450 945GM だけど速くなったよ。
Compiz Fusion の Expo や Desktop Wall プラグインと Wallpaper プラグインの
組み合わせ動作がキビキビになった。
カーネルコンフィグ時には昔からCONFIG_HZ=1000ってやちゃってたけど、ベつにRTカーネル仕様じゃ ないし、リーナス氏も1000にして確実に良い事有るのかいってみろって言うくらいだから、今回 ちょっと250に戻してみるかw
1000から250にするメリットは消費電力だけで、他のどんな値でもない 250の理由が何かあるって事かな?
無駄な割り込みが減少してスループットが向上する。 ただ、個人的にはHZはCLOCK_TICK_RATEの約数であるべきだと思う。
CONFIG_HZの説明にマルチメディアやNTSCビデオなんかやる人は300がいいみたいな事が xconfigの説明に書いてあったので1000から300へしてみました。 Linux上のアプリの動きは体感できないです。でもVmwareでゲストのXP使うときにWINUPDATEなどで XPが激しくHDDにアクセスする時に今まではホストのLinuxがかなりもっさりしてたのですが、これが 無くなりました。
458 :
login:Penguin :2009/01/24(土) 18:37:47 ID:j3OrWlaN
linuxデスクトップユーザーの特徴 @インストールしただけで選民思想 Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。 Bコマンド打ち込んでプロだと勘違い C黙ってwindowsでも使ってろと間口を狭める D素人がだのなんだのとwindowユーザーを馬鹿にする Eカーネルいじればいいだろと無茶を要求 Flinux開発者とのずれを認識できていない Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく 冫─' ~  ̄´^-、 / 丶 / ノ、 / /ヽ丿彡彡彡彡彡ヽヽ | 丿 ミ | 彡 ____ ____ ミ/ ゝ_//| |⌒| |ヽゞ |tゝ \__/_ \__/ | | __________ ヽノ /\_/\ |ノ / ゝ /ヽ───‐ヽ / / linuxはめんどくさくて難しい分だけ、 /|ヽ ヽ──' / < 自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww / | \  ̄ / \ / ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>linuxデスクトップユーザーの特徴 この1行だけで十分笑えたw 結局windowsでunix系のツールがないから 使うんだよね。
kernel_sendmsgを使ってるとたまに送信途中で途切れてしまい、その後しばらく 連続してエラーを吐くようになってしまいます。 このときkernel_sendmsgの戻り値で-11が返ってきているのですが、-11が何を表して いるかわかる方いらっしゃいませんか? 送信が途切れたら残りのバッファを再送するような処理を書いたのですが うまく動かなくて・・・。
>>461 include/asm-generic/errno-base.hを見たらこう書いてあったから、
#define EAGAIN 11 /* Try again */
再送しようとしているんじゃない?
>>462 なるほど、そんなところに書いてあったんですね。
MSG_DONTWAITと設定していたためにEAGAIN(ソケットが非停止に設定されており、要求された操作が停止した。)と返ってきていたようです。
これを手がかりに頑張ってみます。
助かりました。ありがとうございます。
464 :
login:Penguin :2009/01/30(金) 18:37:37 ID:pFX4Hfia
>>464 2ページ目に文章が重複しているところがあるね。
編集仕事しろ。
"対象の便器を占有している香具師が、現在ちゃんと起きて力んでいる"のかを見るのがadaptive lockだよな? 別のロック待ちやI/O待ちで寝ている時もビジーウェイトなのか? それとももじもじし始めてから中の人が寝た場合の話?
ロック待ちとロック保有が同一コアで動いている場合はblockになるから性能が良くなるってことかな。
>>466 Solaris由来の「伝統的な」Adaptive lockは違う。あっちは、一定時間スピンして、だまなら寝る方式なので、
1分だけトイレの前でもじもじして、それ以上なら、きっと中の人は大のほうだろうと推測して、別の便所を探しに行く。
今回Linuxで議論されているのは、相手が寝ているかどうかを見ているので、別のロックやI/Oで寝ていたら一回も
スピンせずに即座にブロック。
便器にたとえると、対象のトイレの前に立つと、ESPで中の人が大か小かが分かってしまうので、
(スケジューラが教えてくれるので)、待った方が良いかどうかが誤りなく瞬時に判別できる。
ただし、世の中には小なのにやたら時間をかける変な人がいて、そういうときだけ判断を誤る。
>>468 そーなのかー
Solarisも見てるもんだとてっきり
2.6.16のバックポートメンテ、終わってるのか・・・
>>468 男なのに万年便秘で便通は週に一度あるかないかです。
子供の頃から頻尿で常に残尿感があります。
ごめんなさい。
誰かに迷惑をかけてるなんて思わなかったよ。
おまいらLinux kernel watchが不人気で連載中止かも試練ぞ。 日本語で貴重なんだけどなぁ。
まぢ? あそこで毎月楽しみにしてるの、あの連載くらいなのに。
不人気ってどこにアンケートとってんだろ…
なんか、ソフトバンク系はいまコストカット圧力がすごいらしいと聞いた
*HZを忘れてるドライバがへたりそうだな
>>472 あれが不人気になるようじゃ日本のITはオワッタな。
毎回ウハウハしたりニヤニヤして読んでるのに。
>>472 ええええ( ̄□ ̄;)
英語が苦手だけど新しもの好きな俺はあれを見てカーネル更新するのが楽しみだったのに・・
なんとなく今はディストリのカーネルからあえて更新する人も少なくなってきたんだろうなあ。
俺はUbuntuだけどUbuntuスレでもディストリ管理から自分で野良ビルドを入れていくってのは
推薦されない感じの雰囲気。でもUbuntuの規約の1つにOS内部は誰でも好きなようにいじれるべきってのが
あって、実際海外のUbuntuフォーラムでは以外と野良ビルドして便利に使う方法なんかも活発。
そこいくと日本はちょっと毛色が違う、どっちかというとWINDOWSみたな雰囲気になっちゃってる気がする。
なんでわざわざカーネルなんか更新するのって雰囲気。Linuxの醍醐味のような気がするんだけどなあ・・
>>478 バイナリ配布が中心のディストリで、
使えればいいやというユーザが多いとそうなる。
つーか、同じ技術ページ同士で比較しても JavaだのapacheだのPHPだのと比較して読む人が少ないのは当たり前よ。 ただ、ページビューが少ないからって価値が低いわけじゃないんだけどな。
今日から一日一回クリックするよ
>>480 えらい人には数字で見せないと。
感想メールでも大量に届けば評価してもらえるんでないかい。
>>481 IPアドレスが同じなので一人分にしかならなかったり。
>>472 ええっ
@itはLinux Tipsが断り無しにFedora前提だったりLinux SquareにSolaris入れたりとLinux Kernel Watch以外あまり良い印象が無いのに、その上Linux Kernel Watchを切るって…。
Linuxに詳しい人がもういない気がする…と思ったらITmediaが運営してたのかぁ。もっと詳しい人まわして欲しいなぁ。
Linux kernel watch は英語が出来ない人にとって大切な情報源なのにっ あれがなくなると困る〜
Kernel Watchを見るような人は@ITの記事の殆どに興味がないでしょ。 男が女装して女子校に通うくらい無理がある。
>>485 2次元の世界ではよくある事なんですけどね
>>473 不人気なのか?
不況で原稿料を下げられるからどうしようかとは書いてたけど。
英語できない奴多いんだな
KernelTrapも更新されなくなったけど、それの代替になる所ってどこかある?
lwnが強いな、やはり。
LWN
>>489 LKMLも慣れれば直接読んでも苦にならないよ。
あそこは流量が多すぎてなあ… 100〜200通/日くらいならついていけるが。 ということでlinux-archしか読んでないこの頃。
sh2a ?
>>493 流量はたしかにね。
gmailのアカウントが受け取ってくれなくなるもんな
どこで読もうかと思案中
>>496 thx
RSSにとか色々できるんだね。
ROMるには十分そうだ
PhenomII をUbuntu 8.10で試してみたけど、BOINCのベンチマークで Celeron Dual-Coreに負けるのにはショック
>>498 Phenomはバグもちだから性能出ないでしょ
WindowsでもCeleronの半分の性能しかでないし
あのエラッタはIIには無いよ。
キャッシュの差でしょ。 ベンチマークソフトはキャッシュに納まるから。
>>502 いや、それがWin7 64bitのBOINCだとちゃんとQ6700より上のベンチスコアが出るんだよね…>Phenom II
なんで、LinuxカーネルだとPhenom系のベンチスコアが悪いのかが解せません。
最新カーネルだと直るのかな?
>>503 LinuxのソフトはCPU向けのチューニングが弱い傾向にあるな
Linuxのソフトは大抵GCCで生成されるからGCCの対応次第
後、BOINCは純粋な計算ソフトだからカーネルの差はあまり関係ない
>>504 失礼しますた。gccがPhenom系にも最適化対応するのを首を長くして待ちます。
デフォルトのパッケージは古いCPUでも動くようにコンパイルされるからgccが対応しても意味がない可能性が。 64bit版ならSSEが使用されるはずではあるのだけれど。 自前でコンパイルするか最適化された物をどこかから持ってくるかしてみたほうが良いと思う。
カーネルが影響するとしたらCONFIG_NUMA=yかどうかかな。
>>508 いまって、32bitだと強制NUMA=nなんだっけ?
年末ぐらいにIngoがKconfig変えてた気がするが
RedHatのRTカーネルっていいの? うざいほど営業やらDMきて迷惑気味なんだが
511 :
login:Penguin :2009/02/24(火) 01:32:31 ID:pX2XxE8H
カーネルの不具合の動作確認で、カーネルに手を入れたいのですが、 グローバル変数の使い方について教えてください。 ヘッダファイルで 「extern unsigned long sabun;」を定義して、 kernel/timer.c で「unsigned long sabun = 0;」と実態を 定義してます。 fs/nfs/inode.cで、ヘッダファイルをインクルードして、sbunを使ってます。 するとコンパイルで、 WARNING: "sabun" [fs/nfs/nfs.ko] undefined! とおこられます。 カーネルでグローバル変数として利用したい場合はどうすればよいのでしょうか?
モジュールからその変数を見たいならEXPORT_SYMBOLしとけ。
aufs2どうだろ。 痛い信者が憑いてるみたいだし。
実装に作者や信者の人格が現れるわけじゃなし、ほっとけ。
>>514 実装に作者と信者の人格があわられるよ
reiserfsなんてマジ基地レベルの実装だっただろ
本人も犯罪者でマジ基地レベルだったし
開発者が痛いプロジェクトはどこも
実装も痛い
日本だとRubyとかSeesaa なんか狂信者の集まりだろ
実装もやばやばだし
>>516 その論理でいくと一番狂ってるのはJavaだな
実装も信者も
reiserfsのコードは、Linuxの一部としてみたら 異常だったかも知れないが、別に普通だろ。 神経質なところが基地外じみているが。
なんつうか、ディスカッションになってないね。aufs2。 攻めるべき相手も分かってないみたいだし、 解決すべき問題点も挙げているわけでもないし。 取り巻きからupstreamにマージしてくれよって言われて、 とりあえずこんなんあるんだけどどうよ、って流れでは 100年経っても無理だね。 TOMOYOがどう攻めたか、誰を見方につけたか、くらいは学習すればいいのに。
TOMOYOもあまりいい例じゃないと思うが… まあ興味を持ってくれる人が出てくるのを待つしかないからねえ。 FSなら変にもめなきゃ簡単に入りそうな気はする。
FS周りは保守的な人が多いから むしろ入りにくいんじゃない? (保守の面も含めて)安心して使えるのが未だにext3と linuxはFS周りは遅れ気味で、だからこそbtrfsが注目されていると思う。
VFSに手を出さなければ他のFSが巻き込まれることはないので、 強硬に反対する人はまずいない。
いままでは-mm経由でAndrewが強引にマージするというパスも登竜門(裏口?)として あったんだが、最近更新やめちゃったからね。 -mm
Oprofileでpthread_mutexが頻繁に起きてるの解ったんだけど 簡単に改善するにはもっと情報ほしいんだけど なんかいい方法ないっすか?
>>525 windowsならシステムコールをフックするという方法があります。
フックした排他オブジェクトのロック関数内などで、これが呼ばれた場所と
スレッドIDを記録していけば、原因の特定が可能。
多分linuxにも応用できると思います。
kprobes?
>>525 ftraceとかSystemTapとか使ってみたら?
HugeTLBってどうゆう時に 役立つの? 普通にメモリ100MBとか確保してるのを 置き換えても幸せになれる?
>>530 なれない。HugeTLBが聞いてくるのは、それを使う前がTLBミスで性能劣化が起きているときだから、
数十、数百ギガとかのデータがないと、目に見える差は出ない。
HugeLBについて正しく説明しているページを教えて下さい orz
いま使ってるカーネル(2.6.26)で明らかにバグってるが、next最新だと 直ってるけどどのコミットで直ったのかわからんという場合、そのコミットを 特定して簡単に取り込む方法はあるでしょうか? ext3/jbdが200GBほどの巨大コピーをすると必ず吹っ飛ぶので頭に来てるんですが、 OpenVZとVMwareも併用してる関係上、2.6.26から先に進めません。で、一旦 この2つは忘れてnextに切り替えたら通ったので何かが直ったのは間違い ないんですが・・・ git-bisectで吹っ飛んだときのコードパスを触っているコミットを拾ってきて git-cherry-pickする、とするのかなと思いつつも、バージョンが3も飛ぶと 容易にはマージできない訳で、やる前からげんなりしてます。でもこの方法しかない?
>>536 すみません、大ボケしてました。
最初バグが入ったところを追いかけていた話と混ざってしまった。
上だけなら普通にコードパスを含んでるファイルをgit-diffすればいいだけですね。
debian sargeで2.6.16.16から2.6.16.62に乗り換えようと思ったのですが、Makefileに変なオプションが追加されているのを発見。 # Force gcc to behave correct even for buggy distributions CFLAGS += $(call cc-option, -fno-stack-protector) コメントからすると、イカれたディストリでもgccが正しく動くようにするものらしいのですが、 これに従ってスタックプロテクトを外すと、Kernel的にはどんな影響があるのでしょうか?
どこで訊いたらいいのか分からんのでもっとうまいスレがあったら教えて。 AMD K8/K10 で CnQ する powernow-k8.ko は Phenom II でも動作するけど、 こいつのコア電圧上げ下げパッチは K8系でしか動かない。 正確には hwpstate で動くやつはコア電圧読み書きをサポートしてない。 現状、Phenom / Phenom II に対するコア電圧上げ下げパッチないしアプリは存在しない? ためしに/dev/cpu/*/msr叩いてコアやNB電圧上げ下げやOCはX3 720で出来たけど K8より電圧上げ下げはむしろ楽になってるくらいで車輪の再発明になる と信じてるんだがうまくみつかんね。
posix_time.hってどこにあるのですか?
Oprofileって カーネルモジュールを常に更新しなくてもいいのですかね? event maskだけCore2とか最新CPUのを読み取れればいいのですか?
542 :
login:Penguin :2009/03/18(水) 02:13:00 ID:zvHoDucU
サーバーの動作が停止したので再起動後にログを見たところ、 ・・・ Mar 17 01:01:01 hoge kernel: ------------[ cut here ]------------ Mar 17 01:01:01 hoge kernel: kernel BUG at mm/rmap.c:479! Mar 17 01:01:01 hoge kernel: invalid operand: 0000 [#1] Mar 17 01:01:01 hoge kernel: Modules linked in: ipt_REJECT ipt_limit ipt_state ip_conntrack iptable_filter ip_tables loop md5 ipv6 dm_mirror dm_mod uhci_hcd ehci_hcd eepro100 via_rhine e100 mii ext3 jbd sata_via libata 3w_xxxx sd_mod scsi_mod Mar 17 01:01:01 hoge kernel: CPU: 0 ・・・ という部分がありました。 "kernel BUG"とありますが、これは本当にバグで停止したのでしょうか。 それとも、ハードウェア障害等が原因でしょうか。 自分ではメモリかな、とは思ってるんですが・・・ ディストリビューションはFedoraCoreの3年ぐらい前のバージョン カーネルはFedoraCoreデフォルトのままです。 機材が遠隔地にあるため、パーツを交換して様子見というのは難しいです。 何かご存知の方いらっしゃればアドバイスお願いします。 スレ違い等の場合はそう言っていただくと助かります。 よろしくお願いします。
ウィルスに一票
うむ。httpあたりから、カーネルの脆弱性を突くペイロードを 送り込まれたといったところか。
まず、ageてしまって申し訳ないです。
>>543-544 となると、対策としては
カーネルのバージョンアップ(ディストリビューション自体も?)
Apacheのバージョンアップ
ぐらいしか無いということなんでしょうかね・・・
今回の攻撃では単に止まっただけであればいいのですが、
何か仕込まれてないか確認しないとまずいでしょうね。
SonicWall等のFWでそういう攻撃防げるのであれば、
導入することも検討してみます。
Fedoraの3年前のバージョンなんてとっくにサポート切れてるんだから 何されててもおかしくないぞ
>>542 invalid operand というのはコードがおかしな命令だったことを意味する。
バグでデータを壊すことはよくあるが、コードを壊すのはまず考えられない。
なので、可能性があるとしたら、メモリが化けた、CPUキャッシュが化けたっていうハード故障系か、
>>543 がいうように、ウィルスにやられた。だと思う
>>542 ふつ〜に立ち上がったんだけど、vmwareが立ち上がらないからdmesgしたら
>kernel BUG at /build/buildd/linux-2.6.27/drivers/cpufreq/cpufreq_userspace.c:122! invalid opcode: 0000 [1] SMP
なメッセージが出たことがある。再立ち上げしてもたしか出た。kernelの更新(ubuntuまんま)したばっかしだったから、
そういうkernel、てか、moduleなのかな? とか思ったり。
なんで、更新前のkernelで立ち上げて、メッセージが出ないでvmwareが立ち上がるのを確認して、出かけて、
夜帰ってきて当該のkernelで立ち上げて以降出てない。ということならある。ハード故障系だろうか...?
soft raid1なんだけど、HDDエラーで化けた、だといいな、キャッシュエラーとかよかマシ? と思っているけど、…
>>546-548 ハードの障害の可能性も考えると、
サーバーマシンごとそっくり新しいものにしたほうが安心ですよね。
とりあえずカーネルのバージョン上げて様子見ますが、
早いうちに置き換えられるよう検討します。
>>547-548 BUG macroで例外起こすために不当命令使ってる。
なので、そこだけで壊れているとは判断できない。
551 :
login:Penguin :2009/03/24(火) 12:55:14 ID:LJtxTesT
2.6.29のマスコットがペンギンじゃなくなってる・・・
確かに、ペンギンじゃなくなってる。 2.6.29 だめだ、ウチはCATVでDHCP接続なんだが、何分かするとネットワークがくたばる。
絶滅危惧種がマスコットって縁起悪くね?
>>553 逆に考えろ
今は数こそ少ないがこれから増えまくって人類に代わって世界を支配してやるという野望を持っているんだよ
人類はLinuxに支配されるのか。
「後に人工知能型スペースコロニーと呼ばれる物が生まれるきっかけと なりましたことは当時誰も想像できなかったのでこざいます」
深い話の最中に割り込んですまないが
>>551 のIDが
TesT
だな。
2.6.29にしてアプリや全体の動きは凄く良いんだけど、dmesgでこれが出るんだけど問題ないのかな [ 29.465011] IRQ 19/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs [ 30.538683] IRQ 17/nvidia: IRQF_DISABLED is not guaranteed on shared IRQs nvidiaの本家のドライバー入れると必ず出る。なんかググっても大した情報が無かった。 ドライバーのバージョンを何個か変えてみたけどやっぱり出る。噂では64Bitだと出なくてx86だと 出るらしいんだけど。
>538 スタックプロテクトって、スタックオーバーフローさせないものじゃないの?
>>558 気にするな。
ドライバの問題なので、苦情はnvidiaへ。
>>559 あふれたのを検出するだけ。
そのために色々小細工されるので、kernelみたいに
行儀の悪いプログラムには都合が悪い。
>>561 将来のIRQスレッドの実装のために、間違った使い方をしていた場合にWarning出すようになった。実害はない。
ようするにNvidiaクソ
563 :
558 :2009/03/25(水) 00:29:47 ID:x7pgsUQ/
>>561 >>562 レストン。実はググった時に英語のサイトの方ですがかなり前からこのワーニングが出ててリーナスは一向になおそうと
しないなんて書いてる人が居たので、って事はカーネルよりドライバーサイドの問題かなとも思ってました。
その方のサイトでkernel/irq/manage.cに当てるパッチを自作してたようですが、なんかパッチというより
見た感じただのソースの削除なんですよね^^; なので当てなかったw
>見た感じただのソースの削除なんですよね 推察するに、warnig出すようになったソース部分を削除したんでしょうな (要するに、昔のソースコードに戻しただけ)なんだろう
Core2対応のOProfileって どこを見れば対応か否か判別できますかね? 自分で修正したいけどどうすればいいか解らん
kernel watch の更新はまだぁ?
567 :
552 :2009/03/29(日) 17:06:19 ID:QvwOa21J
Linuxはそろそろリリース前のQA工程をまじめに検討してほすぃ・・・
.3くらいになるまで待て。
>>569 自分でrcを試してレポートすれ。
とか
それはディストリビュータの仕事だ。
てな事を言われそうな気もする。
昔みたいに安定版・開発版を分ければ少しはマシに…ならんか。
2.6.27を今後の安定板みたいな扱いにしていくとか言ってなかったっけ。現にもう2.6.27.21まできとるよ。 とりあえずそれ使っとけばいいじゃない。
>>573 .27はまだGregKHチームがやってるから、普通のstable release cycleだよ。もうすぐGregは手を引いて
ほんとうのバグフィックスオンリーモードになる見込み
SH4 + Linux 2.6.26環境で、カーネルの起動ログをJP設定により動的に ON/OFFしたかったので、arch/sh/kernel/setup.cのsetup_arch()辺りで コマンドラインパラメータにquietを指定しようとしています。 ところがJP状態を取得するために下記のような感じでコードを書いたのですが、 どうもJPの状態を参照しようとするとカーネルがハングアップしてしまいます。 volatile u32 *jp1 = (volatile u32 *)0xXXXXXXXX; if (*jp1 & 0x00000001) { *cmdline_p = "quiet"; } カーネルの中なので物理アドレスで直接I/Oアクセスできると思い、このような コードを書いたのですが、根本的に何か間違っているでしょうか? 上記コードに何か問題がありましたらご教示宜しくお願いします。
parse_early_param(); とかいるんじゃねーの とか嘘ついてやるぜ うっへっへっへっへ
>>575 ・bootloaderで細工した方が簡単
・そこはctrl_inlだろう
というのはまあおいといて。
#ifdef CONFIG_CMDLINE_BOOL
のあたりで、
strcpy(command_line, "quiet");
とか。
つうか、そのアドレスあってるのか?
そのjp1見に行ってでハングつうと、初期化終わってない例外ハンドラが
呼ばれてこける位しかないと思うが。
580 :
575 :2009/04/02(木) 01:03:55 ID:9fwzBYt/
>>579 レスありがとうございます。
>bootloaderで細工した方が簡単
確かにブートローダでカーネルコマンドパラメータにquietを渡す方が簡単ですね。
ブートローダのソースが手元に無かったのでカーネル側で対処しようとしたのですが、
ブートローダのソースを入手してみようと思います。
>そこはctrl_inlだろう
確かにctrl_inlマクロがありましたね。(^^;
しかし、ctrl_inlでリトライしてみましたが結果は同じでした。 orz
とりあえずブートローダのソースが入手できたらブートローダでリトライしてみようと思います。
>>575 まず、その*jp1を正しく読めるのかどうか、例えばsetup.cの中のshow_cpuinfoで
if (*jp1 & 0x000000001) {
seq_printf(m, "jp1 is set¥n");
}
とかやって/proc/cpuinfoに期待する結果が得られるか試して見たら?
まあ、4月1日にはエントロピー増大則を破ったり、O(1)で因数分解したり、いろんな発明がされるからな
Atherosってけっこう信用あるのかな。 「HAHAHA あそこが止めるはずもない JK」 ってなとこでないと、綺麗に笑えない訳で。 (例えば ATIがlinuxデバドラから人材撤収とかいう記事とかだったら Aprilfool としての出来はどーよ)
はいはい4/1、おせーよ
>>584 まあそれなりにあるんじゃないか。802.11n対応のドライバ公開とか
Linuxの無線難民には紙のような存在だし。
>>589 アナウンスに直したようなことが書いてあった。
ような気がする。
Windows上でもソースが見れるようにファイル名は大文字小文字で被らないようにして欲しい・・・
LinuxからWindowsのFS上に解凍すると大文字小文字のファイルが きちんと個別に存在しなかったっけ。
>>593 NTFS自体は対応してるんだけど、APIのレベルで区別してくれないので
見えるんだけどさわれない罠があったり。
そんな軟弱OS使う軟弱者はソース見る資格ねーってこった
>>592 JFSで case insensitive
>>594 ばっちゃが、中の人は完全にやめる気だったけど2chの人に説得されたってゆってた
>>599 stevenは2chやってないとおもうが...
日本語わかるんかい
>>601 あまりにも面白かったので今度Stevenに会ったら伝えとく
>>603 マジレスだけど去年
Linux萌って書いたTシャツプレゼントしたやついただろ
FUSE,CUSEの次はBUSEなん?
NUSEなの
> I do find it amusing that microsoft keeps telling people to use > Silverlight, yet it requires SSE so lots of Athlon's and some Pentium > 2s running Windows XP are simply out of luck. Flash of course has no > such pointless minimal requirements and works everywhere. へぇー。 ブラウザシェアならぬ、実稼動CPUシェアを知りたいですな。UA名にプロセッサも 含めてくれないかな。
Intelが最強なんだよ Intelは今期も黒字で粗利40%超えてるんだぞ Intel最強マンセー
Intelはハードというよりx86命令というソフトが収益の源泉だからな。 x86というだけで、通常ありえない高利益と需要が約束されている。 もっともWindowsがそれを支えてるのでWindowsが動かんx86は対象外だけど。 他のx86メーカと非x86メーカの間の利益率も比較してみたいところ。
>>607 貧乏人の戯言に耳を傾けるほど
時間的余裕はないって
英語で言うとどうなるの?投稿するぉ?
SSEは後方互換においてはまだ需要があると思うがな。 逆に聞きたいが、今現在においてSSEをあっさり捨てる勇気があるのか?w
それはIntelに聞けよ あとAMDにも、3DNow!について今どう思っているのか聞いといてくれ
>>613 SSE捨てたら、AMD64とINTEL64の64bitモードの浮動小数点演算が
大変なことになるぞ。
>>612 > 貧乏人の戯言に耳を傾けるほど
> 時間的余裕はないって
それって、裏を返せば、ちょっとでも時間短縮するとたちまち赤字がでるってことか?w
「3DNow!」は、若さゆえの過ち
3DNowはまあいいけど、SSE5はどうするんだ?
kernel内で使ってないっしょ コンパイラさえ対応したらいくらでも変えられそう。 エンコーダ屋さんが困るくらいか
ビルトインのカーネル用コンパイラーとな?
Ingoの言うことを真にうけるなんて君はまだ若い
カーネルをコンパイルする時にmake V=1のオプションでコンパイル中のメッセージを見ると、 ほとんどで-mno-sse -mno-sse2 -mno-sse3って感じ(実際にはsseだけじゃなくもっと沢山 CPU命令殺してた)になってるんだけど、やっぱコード的にそうした方がいいって事なんだろうか・・ ちなみにCONFIG_X86_32=yでCONFIG_MK8=yで、# CONFIG_X86_GENERIC is not set になってます。
生成コードがよくなるんじゃなくて、SSEレジスタの退避コストの削減がおいしいんだよね。 だからRAID6だけはSSE使ってるよ。
kernelだけ64bitで再構築したいんだけど cpuの種類を、たとえばAthlon等のものを選択すれば 64bitのkernelとしてコンパイルされるもんなの?
>>626 いやいや、32Bit環境でCPUを64の物を選んでもダメ。64Bit用のglibcはもちろん、そう簡単に言うと
カーネルとは全く関係無く完全にクロスコンパイル環境がそのマシンで構築されていなくてはだめ。
つまり何のアプリでも即64Bitでコンパイル出来る環境として揃ってないとダメですね。
ちょっと高度な話で理解出来なかったかなw
コンパイラ、アセンブラはx64のコードを生成できるものが必要だけど glibcは関係ないべ??
x86(32bit)のGCCは64bitコードを生成できるだろう? 実際には64bit用のheader fileが必要だが
64bitのtoolchainを用意すればいいと言えば解決
だから普通の Linux ディストリ環境であれば build: x86_32, host: x86_64 の場合 ARCH オプションを付ける以外何もしなくていいってば
たとえばglibcとかにアセンブラで実装されたコードは含まれていないの?
>>634 $ find . -name "*.S" | wc -l
1165
$ cd sysdeps/i386
$ ls *.S
addmul_1.S bsd-setjmp.S htons.S lshift.S mul_1.S setjmp.S strchrnul.S strpbrk.S strtok_r.S sub_n.S
add_n.S dl-trampoline.S i386-mcount.S memchr.S rawmemchr.S stpcpy.S strchr.S strrchr.S strtok.S
bsd-_setjmp.S htonl.S __longjmp.S memcmp.S rshift.S stpncpy.S strcspn.S strspn.S submul_1.S
devfsの亡霊? /devtmpfs
>>638 Thxです、ありました、有効にして再コンパイルしたら見事に起動したのですが
不可解なことが起こりました、ffmpegという、エンコーダーとストリーミングサーバーをインストールしているのですが
インストールオプションで、./configure --enable-libmp3lame などと
オプションを付加することで、色々なコーデックに対応するのですが、旧カーネルでは、問題なくライブラリを読み込むのですが
再構築したカーネルで起動すると、パスが見当たらないと、悪態をつきます
新カーネルでそのソフトを、削除して入れ直してもおなじ状況なのですが
再構築する場合に、何か特別なオペレーションを行わなくては駄目なのでしょうか?
>>637 modprobe uvcvideo
>>639 普通再構築とは関係ないな。
何か別のことと思われ
>>639 です
すいません、旧カーネルでffmpeg起動させて、rebootして新カーネルを立ち上げたら
問題なく、ffserverも起動しました、しばらく様子をみます。
642 :
login:Penguin :2009/05/07(木) 01:02:22 ID:/JDLadUU
capset を使おうと思ったのだが他のプロセスにやろうとするとEPERMが帰って来る。 kernel/capability.cを見たら "Set capabilities for the current process only. The ability to any other process(es) has been deprecated and removed." だって。 なんでだろ?
>>642 2.6.29で権限周りをCRED方式で再実装するときに、整合性とれなくて捨てたと記憶
644 :
login:Penguin :2009/05/08(金) 21:08:44 ID:Bi0nGqML
645 :
642 :2009/05/08(金) 23:31:16 ID:djhjImz5
>>646 ABI は誤って公開したインターフェースも維持しようと努力してくれるが、公開されてるのがバグと判断されたもんは
バシバシ削除されていってるので、やらない方が無難。
まあ、manになってないようなヘッダー定義を使う方が悪い。というスタンスなんだろうが
/usr/include/linux /usr/include/asm 内のファイルはカーネルコンパイルしたときに 上書きされるか、そっくり入れ替えられるだけだろ ここで動く、動かない言ってるのはこれらのライブラリーを使って動くプログラムのこと 古いバージョンのカーネルヘッダーでコンパイルしたpろグラムは あたらしいバージョンのカーネルで動く (と、期待される) 当然だろ…。 そうじゃなかったらカーネルのバージョンをあげる度に すべての関連プログラムをコンパイルし直すことになる LOL 21行目までで言ってることはとてつもなく常識的なことだけ
即レスどうもです。
>>647 バシバシ削除ですか、知らなかった。ちょっとそれ聞くと怖いですね・・・
怖いスタンスだ^^;
>>648 いや、自前でカーネルコンパイルしてインストールした場合/usr/include/linux,asm等は一切書き換えられないです。
確かリーナスもそれほいほい新しいのにするのはまずいよ的な事を言ってた気がしたんですが、ここ最近のカーネルでは
make headers_installなんてのをやると、ちゃんと新機能が生きるようなヘッダーのみ抽出してくれるらしくて
ドキュメントにも後方互換的な文になっているようなので、やってみようかなと思った次第です。
/usr/include/ 内のファイルはかきかわならない /usr/include/linux.asm 内はカーネルコンパイル時、 正確には/sbin/mkinitcpio -k 2.6.29.xx 叩いた時の 最新へっだーに依存するだろ /usr/include/linux.asm内のファイルの日付と自分のログをみれば明らかじゃ内科
>>650 あれ? /sbin/mkinitcpioって命令が無いですw
Ubuntuなんですが、多分似たような命令はupdate-initramfsだと思うんですが・・
kernel 2.6.27からftrace使えますよね?
>>652 2.6.27 の ftraceは今と全然違って、はっきりってオモチャだぞ
超絶進化して開発者のおもちゃにされてる的なことが @itの記事に書いてあった気がするけど。
Linuxってこういうどうでもいい機能だけはやたらと沢山あるよね
>>653 そうなんですか
SystemTapだと5msec内の処理を取りこぼしていて
負荷が極小のトレーサー欲しかったのですが
LTTngのパッチでも当てるしかない
困った困った助けて欲しい
プログラム板から、誘導されました C言語で、linux のioポートのアクセスを行う実装を行いたくて #include <linux/types.h> #include <linux/config.h> #include <asm/system.h> include <asm/io.h> これらのファイルがないと怒られます、どうしたらいいのでしょうか? 因みに、鳥はslacklware12.2でkernel-headersはインストールしているのですが カーネルを 2.6.29.3に上げているためだと思います、 2.6.29.3用のkernel-headersをインストールしないといけないのでしょうか? もしそうなら、 2.6.29.3用のkernel-headers2.6.29.3は何処でdlすれば良いのでしょうか?
通ぶってSlackwareなんざ使ったりカーネル入れ替えたりしないほうがいいと思う
>>658 普通カーネルヘッダーはソースに入ってる。ソースツリーのincludeなんだけど、途中からasmの置き場所が変わったかな。
arch/自分のアーキテクチャのディレクトリ/include/asmになってる。
だからソースツリーのincludeに先に言ったarchの中にあるasmへのリンクをasmとして作るのかな。
>>658 参照元プログラムが古いと思われ。自分が必要とする定義を /usr/include でgrepして、必要なファイルを
includeしてみ
これ<linux/config.h>ってもうなくなってると思う 実際今見てみたらこれ以外は全部あった
>>658 です
皆さん大変Thxです
/usr/local/include の配下に
ln -s /home/foo/src/linux/arch/x86/include/asm
とリンクを張り、インクルードしましたが、
#include <linux/types.h>
#include <linux/config.h>
#include <asm/system.h>
include <asm/io.h>
これらの、ファイルの中で読み込まれている、インクルードファイルの位置が、違っていたりで
上手くいきませんでした、
>>661 氏の意見が正しいと思います
2004/01/22 の記事なので、仕方無いものと思います
簡単なプログラムなので、ゆっくり読めば、必要なヘッダー等わかるかも知れません。
>>665 何事かと思ったじゃねーかwwww
こんなに綺麗につられたのは久しぶりだなwww
668 :
login:Penguin :2009/05/20(水) 20:44:31 ID:LkZdSdQN
>>665 俺もつられてしまったぞ。
やるな、665!
やっぱ、手羽だよな。
手羽はやまちゃんが美味い
それ言ったら名古屋人に「何それ?」と返されたことがある
幻の〜なんていうからものすごく期待していったのに 激しくオーソドックスな塩こしょう味じゃねーか。 名古屋人の味覚だけは分からん。
まあ味噌煮込みうどんは残念なブツだった。
名古屋のガッカリな食べ物ランキング 9: 味噌にごみ & きしめん 8: 味噌おでん 7: 醤油たこ焼 この辺は初めから何の期待もしていなかったし、実際食べてみて、ああやっぱりみたいなレベル 6: ひつまぶし 神宮っていうか内田橋の某店が有名ですね、元々がうなぎの蒲焼だし、まずくはないですよ でもね、どうしてあんなに高いの? 普通に鰻重食べた方が良いって、つか鰻重まぜたのと大して変わらんし 5: 伝説の手羽先 どう考えても、普通の焼き鳥屋で塩手羽食った方がうまい、以上 4: 台湾ラーメン 今池よりは矢場町の味仙の方が良いとか、又はどこそこの台湾料理屋の方がうまいとか……アホかと もうね、はっきりいってガッカリ以外の何者でもなし、つか名古屋のラーメンってどこもかしこもほんっとマズい 本郷亭とか、八龍とか、何であんな列んでんの? 理解出来ん 3: 喫茶マウンテン 色物がマズいのは理解出来る、でも食ってみろよ、色物以外もマズいって 2: 矢場とん 考えてみて欲しい、とんかつのサクサク感をぶち壊しにする、秘伝と称する味噌ダレにびっちょりと漬かったとんかつを… あえてソースで頼むと、ソースはちょこっとしかかかってないんだぜ 止めはテーブルに置いて行く中濃ソース、中濃でとんかつ……もうねサクサク感の全否定 1: 寿がきや 名古屋人に言わせると寿がきやはうまいらしい、辛うじてまともな味覚を持っている人ですら 「寿がきやは寿がきやって言う食べ物だから」とかほざく始末 全国展開? こんな物を好んで食いたがるのは名古屋人だけですから
つ あんかけスパゲティ 不味すぎて名古屋人以外は誰も知らないが、 なぜか栄にはきしめん屋と同じくらい存在する。 >2: 矢場とん あれは何度も通ってようやく癖になるラーメン屋みたいなものだ。 あとは全部同意。 ところで、futexって握ったままプロセスが死ぬとどうなるの?
exitするときに取り上げられる。
thx
ずっと気になったんだが つ名古屋コーチン忘れてまいか〜
X86_EMU486でソースを切り替えるんじゃなくてビルドオプション変えるんじゃだめなのかな? カーネルだけ動いてもユーザランドがi486以降でしか動かなければアウトだし。
じゃなくてこれ、i386上でユーザーランドを含めたi486の機械語を動かすパッチね。 不正な命令(SIGILL)をハンドリングしてi486の命令をエミュレートする。 このパッチ自体はSMPと両立できなかったりメモリチェックが甘かったりとあまり実用的では無いけど。
ユーザーランドを含めた→ユーザースペースの
i386でSMP対応ってどんだけマゾなんだよ。UP前提でいいだろ。 i486ですら、前に誰かが世の中に存在するの?って質問していて、 たしかAlan Coxが持っていたような・・・ ↓ こっち見んな( ゚д゚ ) よかおバカトークしてたと記憶。つまりそんだけレアってこった
s/i486ですら/i486のSMPマシンですら/
386SMPってvoygerだっけ? 地上で1システムが動いているだけという幻の。
voyger は地上にはなく宇宙遥彼方
>>684 この前、ついにあきらめて完全に削除されていたような・・・
やっと、サブアーキがなくなったーーとIngo大喜び。ネコまっしぐら
687 :
login:Penguin :2009/06/05(金) 00:20:12 ID:qIsowSsx
688 :
login:Penguin :2009/06/06(土) 00:33:50 ID:zT5/Y8AY
_ □□ _ ___、、、
//_ [][]// ,,-―''':::::::::::::::ヽヾヽ':::::/
// \\ // /::::::::::::::::::::::::::::::i l | l i:::::::ミ 2150edc6c5cf00f7adb54538b9ea2a3e9cedca3fを
 ̄  ̄  ̄/ /:::::::::,,,-‐,/i/`''' ̄ ̄ ̄ `i::;|
―`―--^--、__ /:::::::::=ソ / ヽ、 / ,,|/ commitしたのは
/f ),fヽ,-、 ノ | 三 i <ニ`-, ノ /、-ニニ' 」')
i'/ /^~i f-iノ |三 彡 t ̄ 。` ソ ハ_゙'、 ̄。,フ | ) 誰だぁっ!!
,,, l'ノ j ノ::i⌒ヽ;;|  ̄ ̄ / _ヽ、 ̄ ゙i )
` '' - / ノ::| ヽミ `_,(_ i\_ `i ヽ、 ∧ ∧ ∧ ∧
/// |:::| ( ミ / __ニ'__`i | Y Y Y Y Y
,-" ,|:::ヽ ミ /-───―-`l | // |
| // l::::::::l\ ||||||||||||||||||||||/ | // |
/ ____.|:::::::| 、 `ー-―――┴ / __,,..-'|
/゙ー、,-―'''XXXX `''l::,/| ー- 、__ ̄_,,-"、_,-''XXXXX |
/XX/ XXXXXXXXXX| | _, /ノXXXXXXXXXX|
http://www.linuxhq.com/kernel/v2.6/29/fs/ext4/super.c noextentsが消えた
犯人はヤス
現実問題、noextents なんて必要か? Jan Karaがext3に戻れなくなるとか反対していた気もするが
>>688 マージコミットの見方を教えておく
git show 2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f
すると
commit 2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f
Merge: cd76469... 4b90567...
Author: Linus Torvalds <
[email protected] >
Date: Thu Jan 8 17:14:59 2009 -0800
というヘッダが表示される。このMerge行重要。
んで、これをコピー&ペーストして
git log -p cd76469..4b90567
と打つ。んで、noextentsで検索すると犯人はTed Tso であることが分かる。すでに知っていたらすまん
4プロセス間をIPCメッセージキューでデータ転送しているのですが もっと高速にする方法ご存知ないでしょうか
POSIX message queueってどうなの?
>>693 unix domain socketで転送
カーネルのバージョン付けは、誰が決めるの? 欧州議会みたいにいろんな国選出の技術者の討論で決めるのですか?
Linus
元老院だよ
RedHatからUbuntuを薦めている300人委員会に決まってるだろ
リナクス故、Java the Hatがカーネルの命名をするか、、、初めて知ったよ。 勉強になった、ありがとう。
IPCとPosixのメッセージキューだと どちらがいいんですかね? POSIXの方が速いような記述は見られるけど IPCとの比較が見てみたい
Linuxカーネルのスカトロが入ったっていう噂は本当ですか? そうですか・・・ Linux オタワ
>>703 原田知世がスカトロ好きってそんなに有名だっけw
それにしても本当にひどい名前だよ、まったく
>>704 ちょw
そんな実名だしちゃ、まずいっしょ
いずれにせよ、2.26.30 以降はスカトロLinux なんだなー
>>687 こういう身近な話だと、わかりやすい
ほんとおもしろいわ
2.6系カーネルに独自ドライバを組み込もうとしています。 ググったらmake menuconfigすると表示されるメニューは ドライバソースの各フォルダにあるKconfigとMakefileを 編集すればできそうなことは分かったのですが、Kconfigに カスタムドライバを追加する方法を分かりやすく解説した ページがあれば教えていただけないでしょうか。 下記のようにデバイスドライバのツリーを追加したいのですが KconfigとMakefileを編集した後、make menuconfigを 実行しても、新しくドライバツリーに項目が増えてくれなくて 悩んでいます。 Device Drivers ---> Hoge device drivers ---> <M> Hoge hoge device 宜しくお願いします。
論よりソース 実際に項目を追加してるcommitの差分を見ればいい
>>708 レスありがとうございます。
ソースは見ているのですが、Device Drivers項目の中に、新しく
Hoge Driversというサブ項目を追加しているような例が見つかりません。
Misc devices項目など同一階層に新規項目を作りたいのですが・・・
下記のようにしてもDevice Drivers内に Hoge device drivers が
表示されない状況です。
drivers/Kconfigに、 source "drivers/hoge/Kconfig" を追加
drivers/Makefileに、obj-y += hoge/ を追加
drivers/hoge/Kconfigに下記内容を記述
menu "Hoge device drivers"
config HOGE_TEST
tristate "Hoge hoge device "
default y
help
Hoge hoge device driver.
endmenu
drivers/hoge/Makefileに下記内容を記述
obj- := hoge.o # Dummy rule to force built-in.o to be made
はて、特に間違っている部分は見当たらない・・・よう・・な・・・ 元ファイルにtypoとかあったりしないよ・・・ね? drivers/Makefile: ... obj-y += hoge/ drivers/Kconfig: ... source "drivers/hoge/Kconfig" drivers/hoge/Makefile: obj-$(CONFIG_HOGE_TEST) += hoge.o drivers/hoge/Kconfig: menu "Hoge device drivers" config HOGE_TEST tristate "Hoge hoge device" default y help Hoge hoge device driver. endmenu
親メニューが depends on ついてるとかそういうオチじゃね? もしくはメニューが Drivers/Char/Serial の奥底とかに埋まってる。 menuconfig 起動して HOGE_TEST を検索してみればわかると思うが。 つか、.config に #CONFIG_HOGE_TEST is not defined とか 入ってるかどうかは確認したのか?
モノリシック Solaris,HP-UX,AIX,Linux マイクロ Windows,Mac
xhciが(linux-2.6に)キター
Mac OS Xもマイクロカーネルではない
>>715 いや、
>>714 のリンクを見れば分かるが、Tanenbaumはマイクロカーネル扱いしてる。
FreeBSDの各種機能がカーネル空間にあるのはco-locationという技術であって、
それでもメッセージ通信をしているのに変わりはないのでマイクロカーネル扱い。
tkh
FreeBSDをマイクロカーネルと主張する人は珍しい
>>714 Windowsはマイクロカーネルのほうに近いんじゃない?
良くも悪くも。
2.6.31でまたbtrfsのフォーマットが変わったらしいね。
>>721 なにしろ仕様書に「まだ変わる」と書いてあるんだから
まだまだ何回も変わるだろうな。
単純に、モノシリック・マイクロで分けられる時代ではないでしょ 極端にしたらデメリットが馬鹿にならなくなるから
モノシリック? 語源(モノリス=1つの岩)と意味を知ってれば間違えようがないのにね。
つい最近どっかで全く同じ会話を見かけたなぁ スラドだったか
いぢめる?
「モノシリック」は「モノシリアン(mono-syrian)のような」という意味であり、 十二世紀半ばに西欧にて発生した。 「モノシリアン」とは第2回以降の十字軍遠征を阻む、シリア(聖書でアラムの地とされる、 聖地エルサレムを含む西アジアの地中海に面する一帯の地域)の回教徒達(Syrian)の 結束したさまを指す十字軍内部で用いられていた隠語であり、十字軍衰退とともに 一般人への回教文化の流入とともに広がった。 現在、「モノシリック」は一つに統一され強固にまとまったさまを指す言葉として 用いられている。 例えばモノシリック・カーネルとは一枚岩のような丈夫なカーネルということである。
へー 728さんって物知りなんですね
物知りックwww
なつかしすぎて吹いたw
>>730 トラ技5月号あたりの
新入社員向け特集で毎年出てくる。
DaveM が page allocation failureのメッセージうざいから、warning出すのやめようぜ。って言ってるけど、使ってる奴ほんとにいないの?
カーネル的にはQPI接続のNUMAなi7 Xeon構成には対応してるの?
opteronのころから対応してるでしょ
>>735 CONFIG_NUMA: │ Enable NUMA (Non Uniform Memory Access) support.
│ The kernel will try to allocate memory used by a CPU on the
│ local memory controller of the CPU and add some more
│ NUMA awareness to the kernel.
│ For 64-bit this is recommended if the system is Intel Core i7
│ (or later), AMD Opteron, or EM64T NUMA.
そうみたい。S5500HCV買ってくる。
737 :
login:Penguin :2009/07/01(水) 21:41:05 ID:RjIEoEza
6月版 君は知っているか? 2.6.30の変更内容を
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch06a.html ファイルシステム周りの追加
日本発のログ構造化ファイルシステム「NILFS」
EXOFS
POHMELFS
FS-Cache
relatimeがデフォルトでONに
セキュリティ周りの強化
TOMOYO
IMA
ネットワーク周りの強化
Reliable Datagram Sockets(RDS)
IEEE 802.11w(wireless management frame protection support)
そのほか、カーネルコアの変更
カーネルイメージを、従来のGZIPだけでなく、LZMA/BZIP2でも圧縮できるようになりました。LZMAは伸長時間の速さと高圧縮率を兼ね備えており、期待が持てます
カーネルのzImageがとうとうサポートされなくなりました。bzImageで困りませんからね
x86の最後のサブアーキテクチャ「Voyager」のサポートコードが削除され、x86 archからサブアーキテクチャ対応コードが削除されました。「これでメンテが簡単になる」と、x86開発者が泣いたとか
adaptive spinning mutexがマージされました。もはやmutexはロック競合時にスリープするとは限りません
>>737 zImage無くなったのはx86だけじゃねえのか?
まあどうでもいいことだが。
>>738 ほかのアーキだと元々 make zImage が存在しないような
ねえ、kernel watch以外にカーネルの情報が読める所ってないの?
>>739 べつに必須の機能じゃないので無い方が多いかもしれんが、
使えるのもある。
さすがにbzImageはx86だけだが。
フレームバッファを使ってダブルバッファのような目的で複数ページを切り替えて 表示をしたいんですが、ioctlとか使って実現する方法ってありますか?
>>743 DirectFBあたりは、そうやって実装してるよね
746 :
login:Penguin :2009/07/22(水) 23:07:37 ID:Ihq5K6Dd
747 :
login:Penguin :2009/07/23(木) 18:18:38 ID:7uKirgZE
ここで一句 カーネルは テスト無いので レガシーだ
レガシー【legacy】 (1)遺産。遺物。 (2)コンピューター分野で,旧世代の技術に基づいたハードウエア・ソフトウエアなどの総称。
ネタがすべってるー
>>747 世界がテストベッド。
テスト手順は人間の本能に刻まれている。
100万個の目玉は1万ページのテスト手順に勝る。
・・・とか信じてそうだ。
実は誰もテストせず数年経過とかあるから怖い。Signed-off-by,
Reviewed-Byに加えて
Tested-by:<tester-sig>
Tested-with: <URL-to-testcode>
とか欲しくなるぞ。
>>751 Tested-by:は昔から使われてるぞ。
>>752 じゃなくて、commitされるものはどれもテストされるべき
って言いたいんじゃない?
754 :
login:Penguin :2009/07/25(土) 15:16:29 ID:wTyfgRHd
テストコードが無いのはレガシーコードだと言いたいのでした。 ただ、ドライバとかはむずかしいのかもとは思った。
Fedora固有の問題なのかもしれないが、kernelの挙動のような気もするので、ここで質問。 /proc/uptimeに入っている値の意味ってkernelのバージョンによって変わりうるのだろうか? 最近、Fedora11 x86-64 (kernelは2.6.29系)をインストールしたPCにおいて、/proc/uptimeの 値は稼働時間(秒)+謎の値(稼働時間より妙に小さい)になっている感じなのだが、 Feora11を入れるまでは稼働時間(秒)+アイドル時間(秒)だった。manの説明を見る限り、 以前の挙動の方が正しいように見える。 ちなみに、稼働しているPCの負荷はかなり低くてアイドル時間がほとんどを占めているので、 同じフォーマットの値だとは考えにくい。 何か仕様変更があったのだろうか?
>>755 コードを読む限り、idleを表示しようとしてるな。うちのマシン(mainlineの最新)ではuptimeは以下のようになっており、
妥当な値。
で、最近デカイ修正ないから、regressionに心当たりないなぁ
/proc/uptime
----------------------
2295257.97 1218617.97
CPUを100%つかうプロセスを1分動かすと、2つの値はそれぞれ、どれだけ動く?
>>754 LKML読んでて、テストコードでなんとかなりそうな問題って少ないんだが、具体的にはどうよう状況を想定してる?
例をあげる。
定期的にregressionする問題児機能として、cpu-hotplug, memory-hotplugがあるが、これは明らかに
開発者がテストできないのが問題。
かつ、CPUやメモリを挿抜できるマシンを見たこと無いと何に気をつけないといけないか、普通は一生知る機会がない。
カーネル内に普通にif 文入ってりゃカーネル勉強してれば自然と身につくけど、速度の兼ね合いで巧妙に if文が
入らないようにしてあるケースが多いので、コードを読んでいてもまず理解できん。
個人的な経験でいうと、ユニットテストが有効なのはアプリケーションレイヤだよ。テストってのは自分のもってる仮定が真か
否かを確認する作業なので、よく分からないハードの互換性のための機能とか、よく分からないアプリの互換性のための
機能とかは、テストできない。
それに加えて、性能のために、無理矢理ロックレスにしてる部分ってユニットテストすると、failureするよね。
でも人間は気づかないのでOK理論でまかり通ってる。
この「人間は気づかないはず」ってのはかなり曖昧な根拠なので、すごく予想外のワークロードで破綻したりする。
テスト不足が原因じゃなくて設計時の分析不足が根本なので、テストじゃ品質は上がらない
ちょっと、違う河岸の人の意見が聞きたくなったので、燃料投下ですよ
CPUのmockとかメモリのmockを作ってテストを書く failするロジックを見つけたら必ずテストを追加する
とうっかり書いてしまったがそんなへんてこなmockを書くのは極めて難しいな
>>756 stressをインストールして試してみた。CPUがデュアルコアなので各コアの負荷が100%になるようにしてみた。
[root@localhost stress-1.0.0]# uptime; cat /proc/uptime; stress -c 2 -t 60; cat /proc/uptime
21:58:50 up 1 day, 22:31, 2 users, load average: 0.44, 0.35, 0.14
167498.57 166.57
stress: info: [29421] dispatching hogs: 2 cpu, 0 io, 0 vm, 0 hdd
stress: info: [29421] successful run completed in 60s
167558.58 166.57
[root@localhost stress-1.0.0]# uname -r
2.6.29.6-213.fc11.x86_64
稼働時間の方はちゃんと60秒分増えているけれど、2個目の値は変わらず・・・。
ドライバ類って共通レイヤでのユニットテストがしやすそうなイメージあるけどなぁ。 ハードウェアエミュレータがあれば更に良し。
具体的にはどうやってテストするの? エミュレータなんかかました途端に、それは「エミュレータに対するテスト」 でしかなくなるし、ってかこの世のありとあらゆるデバイスの挙動の あらゆるケースを実機通り(実機のバグ・不具合含めて)に正確にテスト できるエミュレータとか、ちょっとありそうにない気がするが。
>>760 ごめん、CPU100%ぶんまわしたら、当然idle時間は増えんわな。たぶん省電力関係が悪さをしていると思うので
1) cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
の結果を貼っておくれ
2) 同じディレクトリの scaling_governorをon_demandから(Fedoraならon_demandなんだよね?)、
performance に変更して1日放置してみて
これで直るなら、ただの表示ミスだから気にする必要はない。
>>763 起動オプションで、 idle=poll もやってみて。C2/C3 stateに入るときの問題かもしれぬ。
765 :
login:Penguin :2009/07/28(火) 21:24:21 ID:gAPV/qCK
テストってそんなもんな気がするけど???
766 :
755 :2009/07/28(火) 22:53:13 ID:3fzUjTnx
>>764 レス感謝。
初めに報告した側のPC(以下PC1) はサーバ運用のため実験しにくいので、同じFedora11 x86_64版をインストールし、
同様の状況になっている別PC(以下PC2)で実験してみた。結果は以下のような感じだった。
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
acpi-cpufreq
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
ちなみにPC1だと
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
ondemand
[root@localhost ~]# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_driver
powernow-k8
で、PC2でカーネルオプションにidle=pollを追加して起動し、
echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor してみた後は
[root@localhost ~]# cat /proc/uptime
1744.18 0.13
という感じで、残念ながら変化無し。
アイドル時間が検出できないこと以外は運用上の障害は特にないので、そのまま運用してもいいんだけれど
やっぱり気持ち悪いなぁ・・・。
ある特徴をもつパケットをIP層でフィルタリングするカーネルモジュール を書きたいのですが、iptable_filter.cのipt_hook()とかを使って できますかね?
likely() とunlikely() について詳しく解説していただけないでしょうか?どうしてこの処理が必要なのでしょうか?
gcc + likely でぐぐれ
今時のx86って分岐ヒント・プリフィックスがあるんだね
今のgccは分岐prefixは生成しないと思うが。今のCPUの実装でいうと勝手に命令はprefetchされてるんだけど、 ジャンプ命令は飛び先が命令をfetch終わるまで分からない(当たり前だ)、だから、ジャンプしないほうに可能性が 高い処理を入れておくのが賢い。 確率が半々のif文だったら、飛び先を近くにしておくと、ちょっと先fetchでtakenもnot takenもフェッチされるので お得だけど、確率が90%の時は残り10%はすんげえ遠くに追いやった方がお得。 よってunlikelyで通らないとヒントづけされたブロックは関数の最後の方に寄せられる。likelyはその逆。
確か今時のプロセッサの分岐予測は 初見の分岐を見たら、その分岐が手前方向だったら分岐すると予測し 先方向だったら分岐しないと予測すると思ったけど。 理由はもちろん、ループというのがそういう形に作られているため。 (先方向の理由は知らないが、たぶん統計的なものだろう) で、当然、最適化コンパイラは、 それ(分岐頻度の想定)にあわせた分岐/非分岐のブロック配置をする。
>>772 実行プロファイルとか取ってるのかと思ったら、あんま賢くないんだね。
>>773 プロファイルとってるけど、数に限りがあるから、テーブルにのってないジャンプについては
typicalなコンパイラのクセからポリシーを決めるんだわさ
>>774 Open64でビルドしたカーネルそんなことしてるように見えないけど
カーネルのヘッダファイルを見るとenumと全く同じ名前でdefineし直していて単なる無駄に見えるのですがマイナーなコンパイラのための対策か何かなのでしょうか?
具体的に
779 :
777 :2009/08/07(金) 17:43:38 ID:Pvjb3Cze
>>778 僕にだよね...
例えば、linux/rtnetlin.hだと↓
enum {
RTM_BASE = 16,
#define RTM_BASE RTM_BASE
RTM_NEWLINK = 16,
#define RTM_NEWLINK RTM_NEWLINK
>>779 型チェックが欲しいときと要らん時があるからだろ。
781 :
777 :2009/08/07(金) 18:45:03 ID:Pvjb3Cze
>>780 プリプロセッサ通ったらやっぱりenumだと思うんだけど...?
型チェックはプリプロセッサではやらないと思うんだけど。
だから、 わざわざenumとdefineと定義してもプリプロセッサを通ったらenumだけになっちゃう で、コンパイラではenumの定義しか見えないんだから型チェックがしたい/したくないとか制御できてないように思うんですが...
例えばglibcのstdio.hの中に以下のような一節がある
/* Standard streams. */
extern struct _IO_FILE *stdin; /* Standard input stream. */
extern struct _IO_FILE *stdout; /* Standard output stream. */
extern struct _IO_FILE *stderr; /* Standard error output stream. */
#ifdef __STDC__
/* C89/C99 say they're macros. Make them happy. */
#define stdin stdin
#define stdout stdout
#define stderr stderr
#endif
>>779 もこの手の要請のせいではないかと予想
>>783 netdev辺りに remove unneeded definition とか言ってパッチ投げると
なぜそうなってるか解説してもらえるんじゃないかな。
#define stdin stdin しておけばプリプロセッサがstdinを消しちゃうこともないし #ifdef stdin でもtrueになるし ってだけの話じゃないの?
Amazon EC2 の日々の利用料金を確認するため 日毎のI/Oリクエスト合計数を出したいんですが なにかいい方法ないでしょうか? iostat の tps ってシステムが稼動始めてからの合計? それだと日毎に、ってのは難しいですよね
>>777 デバッグのときにシンボル補完してくれるからかも?>enum
マクロもビルドオプション付ければ可能ではあるんだけど、カーネルが
超巨大化するので。
790 :
777 :2009/08/08(土) 12:11:41 ID:O2AsxnLe
みなさんありがとうございました。
>>787 のifdefしたいはなんとなく納得できます。
最近のLinuxの Memory Mapped Fileって メモリにWriteしてSyncすると pbufferが走るの?
っカーネルソース
@vger.kernel.org 系の ML 止まってる?
流れ出したみたい
intelチップセットのノートPC使ってるけど DRMを有効 → X起動でフリーズ DRMを無効 → X激遅で使い物にならず うんざりしてきた
nVidia一択がJK
Intel 安定 NVIDIA 速い ATi Windows専用
9月10日に RV870はLinuxに対応しないって明言するらしい
2.6.29→2.6.30でUSBまわりって大きく変わった? まったく同じconfigで作ってもfriioがUSBエラーを吐きまくるようになったんだが…
linus-treeにマージされてないと大変だね。 カーネルのABIが変わっても自分で調べて直さなきゃならないし、 作者の興味が無くなったらそこで終了。
マージしたらいいのに。ドライバならGregはすぐマージしてくれるよ
イ`ヘ /: :| ヽ / : :/ ヽ ___ _,,,:. .-: :´彡フ _ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 / ( : : : : : : : : : : : : : : `ゝ / マ r::/: /: : | : : : : : : : : ::\ / | //: /: : : |: : | |: : |: _: : : :ヽ ジ {/ 7|`\/i: /|:|/|´: : : : :|ヽ 〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: | で / r:oヽ` /.:oヽヽ: :|: | :| { {o:::::::} {:::::0 }/: :|N っ | ヾ:::ソ ヾ:::ソ /|: : | !? ヽ::::ー-.. /ヽ ..ー-::: ヽ::| r--ッ -tヽ/´|`::::::::::;/ `、 ::::::::::: /: i } > ::∧: : :|: |J \ / /::i: | /_ゝ . \ヾ: |::|` - ,, ___`-´_ ,, - ´|: : :|:::| ヽ: |::|\  ̄/ /| |: : :|: |
>>799 そうおもったんなら、なぜChangeLogを見ようとしないのだ?
>>800-801 そういうのはマージされた所で変わらん。
名前変えたぜくらいならついでに直してもらえるが、
微妙に仕様変わったりする場合は放置される。
>>802 イ`ヘ
/: :| ヽ
/ : :/ ヽ ___ _,,,:. .-: :´彡フ
_ノ\_∠: : : : : : : : :`: :-: :,:_:/彡 /
ま ( : : : : : : : : : : : : : : `ゝ /
r::/: /: : | : : : : : : : : ::\ /
ふ //: /: : : |: : | |: : |: _: : : :ヽ
ぃ {/ 7|`\/i: /|:|/|´: : : : :|ヽ
〉 ,‐-‐、`|7 || |_::|,_|: : :|:::|: |
ふ / r:oヽ` /.: oヽヽ:|: | :|
ぇ { {o:::::::} {:::::::0 ヽ: :|N
っ | ヾ:::ソ ヾ:::::::ン ゝ|_ノ´ ̄`¨ヽ
!? ヽ::::TT.. ィ――--ァT´弋_,.,ィー-
-tヽ/´|`::::| |::;/ /:| |:::: /:i つ \__
::∧: : :|: |J | | \ / | |/::i: | 二ン
. \ヾ: |::|` - ,, ___ ̄ ̄_ ,, -´|: : :|:::|
ヽ: |::|\  ̄/ /| |: : :|: |
_,,,ヽ_ヘ_,,_ノ^レ,,_....
808 :
755 :2009/08/17(月) 23:29:09 ID:BdjlVxHY
>>807 当たりっぽい。
ソースを見た感じだと、64bitで扱わなきゃならない箇所を32bitで扱ってしまっているのか・・・。
LKMLに上がっているということは、いずれパッチが取り込まれるのかな?
アイドル時間が分からない以外の実害はないんで、もうしばらく待ってみる。
カーネルコンパイルするときの、LD とかCC の意味を教えてください。
あんまり深く考えたことないけど、普通に考えて CC: コンパイル LD: リンク じゃねぇの?メッセージ的にもそれっぽいし
IPCセマフォとPOSIXセマフォを比較すると IPC配列が複数個で遅い POSIXは1個だから軽量みたいな説明を見るのですが 具体的にデータ構造ではどれのことを指しているのでしょうか?
>>812 glibcのnptl以下のsem_* をみれ。そもそも競合がないかぎり xchg 命令一発で終わっており、
カーネルの中にすら入らないから
逆にPIC セマフォをlocklessにしたり、ユーザランドだけでごにょごにょする方法は未だ見つかって
いないのではないかな。
Debianのdepパッケージについて質問です。 公式サイトから落とせるarm用パッケージの共有ライブラリが、どんなconfigureオプションで コンパイルされているのか調べる方法ってありますか? gccだとgcc -vってやった時にコンパイル時のconfigureオプションが表示されますが、あんな 感じで調べる方法があれば教えてください。
815 :
814 :2009/08/20(木) 12:45:30 ID:IuJt3Yqf
ごめんなさい、スレを間違えました。
早くLinuxのカーネルがFreeBSDのカーネルよりパフォーマンスよくならないかなー・・・
>>817 スループットの計測グラフみたら2.6.30とFreeBSD7.2の間に結構差があった
819 :
login:Penguin :2009/08/20(木) 23:55:01 ID:XTDFR6e5
誰がベンチマークを計測したかによって変わるしな。 ベンチマークを公開するにはちゃんと意図があるのだよ。 嘘には3種類あって ・良い嘘 ・悪い嘘 ・ベンチマーク と言われている。
そんなに凄いならスパコンとかに顔を出してもいい感じだが。>>BSD ってカーネル関係ないかw
スケーラビリティが要る場面ではLinuxが強いだろ。 マン・パワーを必要とする膨大な作業があるから、大企業が よってたかって人手を投入しているLinuxのほうが上なのが普通なはず。
>>818 SELinux使っているってオチとか?
>>822 残念ながら、現状のlinuxカーネルのスケーラビリティは他のOSに比べたら悪くて当然な出来。
まだまだspinlock多すぎ。
プログラムとか全くできない素人の素朴な疑問なんだけど Linuxカーネルって、みんな寄ってたかってこんだけいじくりまくってるのに どうしてパフォーマンスが上がらないの?
計ったなんて書いてないけど?
え、計りもせずに「上がらない」なんて言ってんの!?
カーネルスレッド多すぎの件は、何年か前にsgiの連中が 4096CPUマシンで動かしたときに何とかならんもんか といってたけど、やっとパンピーのマシンに多コアマシンが 降りてきたから真面目に取り組みはじめたね。
カーネルスレッドならWindowsだってかなりあるじゃん スケジューラの問題じゃないの?
>>830 SIMDはレジスタ退避のコストを考えるとほとんど期待出来ないと思ふ。
やっぱりそこら中に散らばってるspin lockのCPU無駄使いが諸悪の根源だと思うでよ。
>>829 スレの流れからそういう話だったじゃん。
それとも自分で確かめた結果以外は話にも出すなってか?
俺ルール?
>>830 どうしてそうなのかってとこが気になるんだけど、
昔から色々な選択肢を方々に提供してきただけに
ある機能がレガシーになってもなかなか切れない、
構造も変えにくいってことかな…?
ちなみにadaptive lockは2.6.30で載ったっぽい?
>>834 個人的にはカーネルのプロファイリングの手法がしょぼかったせいじゃないかなと思っている。
最近のプロファイラの進化によってパフォーマンスは上げやすくなったんじゃないかなぁ。
836 :
login:Penguin :2009/08/21(金) 11:31:02 ID:MlJa3Ii9
というかハッカーならロックなんて使わずにカーネル作れよ スピンロックなんて使っておいて何がハッカーだよ(笑)
>>836 lockless/wait-freeは最近の流行だねぇ。lock自体がBKLと同じ扱いになる日が来るかもな。
Linuxの設計やパフォーマンスはそんなに悪くないよ。 ただ、BSD(のネットワーク周りなど)の初期設計がとても良いので、 そこが効くベンチマークを取ると差が出るだけ。
とりあえずBSDに比べればめちゃくちゃ人多いわけだから今後に期待
人が多けりゃどうにかなる問題でも無いと思うぞ。 自動テストでプロファイル取って、遅くなる修正入れたら ボコボコにされるとかやれば何とかなるかもしれんが。 そんなことをgccがやってるとか何とか聞いたような気がする。
>>834 前半
別人だが >819 の主旨はNetBSDのバージョン間の比較だし
「上がらない」はLinuxのバージョン間の比較と解釈できる表現だし
それでいて今のスレの流れにベンチマーク結果があるのは >819 の
Fedora Core 10 ひとつだけだから「ソースは?」とつっこまれたんだろ。
>827 のつっこみ方もどうかと思うがそんなに敵意をむき出すことは無いだろ。
>>840 ネットワーク周りはLinuxのほうがパフォーマンス出てるって聞いたけどなー
数年前の話だから今は違うんか?
>>844 場合による。10Gイーサとか最新の環境ならLinux一択。Linux世代が入手できない古代のハードなら絶対BSD。
それ以外はドライバの出来も効くのでケースバイケース。
カーネルスレッドが多すぎ問題はJensが対応を開始したよ。ざっと見た感じ結構有望そう
BKLは性能に関係有るところにはもう残ってないので気にしなくてよいと思われ
ReiserFSからもいなくなったの?
mainlineにもう入ったかは忘れたが、Fredricがなくしたはず
SystemVとPOSIXのソースをおいかけてたら 気がついたらこんな時間になってたけど 以下の理解で正しいの? SystemVセマフォ userspace->sem_op->syscall->kernel->kernel lock POSIXセマフォ userspace->sem->glibc->syscall->kernel->kernel lock 競合無いとき userspace->sem->glibc
最近のカーネルでirqbalance使う意味ってある? 使わなくてもいい感じに負荷分散されてる様に見えるんだけど…
うちで何もしていないやつはエラく偏る@Athlon64X2 17: 33 24973 IO-APIC-fasteoi firewire_ohci 18: 485064 140728827 IO-APIC-fasteoi eth1 20: 54911 19292568 IO-APIC-fasteoi sata_via 入れればそれなりにならされるので無意味じゃないだろう。 俺は気にしていないので何もしていないが。
偏った方が、逆にキャッシュの使用効率がいいと思うんだけど。
kernel-2.6.30.5 です 不要なデバイスドライバーを削りたくて、とりあえず手始めにネットワークカードを選択したいのですが 機種 NEC Express5800/110Ge LAN Intel 82566DM-2 Gigabit これに必要なデバイスドライバーはどれを選択したらいいのでしょうか? Device Drivers --->[*] Network device support --->?
ところで起動中の starting httpd [OK] とかの書式とか色とかってどこで変更可能?
>>854 ググったら、e1000e がドライバらしいから、その後
--> Ethernet (1000Mbit) --> Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
2.6.31-rc7 での選択だけど、多分変わらない
>>855 カーネル関係なくないか?
何使ってるかしらんが起動スクリプト(/etc/rc.d/rc)と、
それから読み込まれるいろんなファイルを見ていけばいいんじゃない?
>>854 ドライバはたいていモジュールでコンパイルされるので、リソース食わないよ?
組み込みの人?
>>356 ありがとうございます、どのような文言で検索されましたか?
よろしかったら教えてください
とりあえずNetwork device support 配下の
--> Ethernet (1000Mbit) --> Intel(R) PRO/1000 PCI-Express Gigabit Ethernet support
これだけに* を入れて今コンパイルしています。
>>853 キャッシュのaffinityを重視するかCPUのロードバランスを重視するかって話だけど、
大抵の場合はaffinity重視で行ったほうが全体の性能はあがるよね。
>>861 普通のプロセスに関してはそういう作りになってるんだし、
一般論を話しててもしょうがないかと。
個々のケースについての具体的な数字が無いと。
>>862 普通のプロセスの話じゃなくて、割り込み〜ksoftirqdまわりの話なんだけど…
864 :
login:Penguin :2009/08/23(日) 22:35:17 ID:DukYj/4T
kernel.orgが変わってる わかりづれえw
何この嫌がらせみたいなレイアウトw
ワロタwwwwwwwwwww
やっぱりSCOの勝ちだな リーナスはSCOの資産朴って Linuxを作った。最低の奴だ
870 :
login:Penguin :2009/08/27(木) 23:03:30 ID:bcZzJeSa
しぶといつーか、あれっぽっちの材料からあそこまで強気の 発言が出来る面の皮の厚さは相当なものだとは思うw
どこかの教祖様が突然チェコ人になったのかと思ったよ。
Kernel.orgたんついに覚醒したな。。。
>>871 嘘も百回言えば本当になるからな
民主党もAppleも任天堂もそれで大成功してるんだから
runqueueについて教えてください。 prio_arrayのqueue[99]には、どんなプロセスが入るのですか? realtimeプロセスは、[0]〜[98](99〜1)の99通り 一般のプロセスは、[100]〜[139](-20〜19)の40通り で、[99]は使っていない様に思えるのですが、使用していないのでしょうか。 それとも、使用する場合があるのでしょうか。
>>825 だいぶ前のコメントにレスで申し訳ないが、
spinlockが多いのと、スケーラビリティの関係がわからん
コア数増やしてもリニアに性能があがらないとかそういうこと?
そういうこと
spinlockしておいたほうが下手に複雑なアルゴリズムで ロック回避するよりもいいんじゃないの。 spinlockしてるのに資源を割り当てるCPUが悪い。CPUがもっと賢くなれば性能があがる。
だーかーらー、 spinを獲得する=バスロックをかける、ということなんだよ。 だから数十とかのコアだとバスロックがかかりまくる状態になって性能が上がらない。 ロック時にはキャッシュのコヒーレンシも保たないといけないからな。 そういうのを、スケーラビリティが無いと言うんだよ。
マルチ化は共有リソースがボトルネックになる どう設計しても無理 一番いいのはマルチマザーボードPC
はいはい。アダプティブロックさいこーさいこー
バスロックをかけるという実装が悪いんじゃないの スケーラビリティは落ちるかもしれないけど、一つのPCの性能的には spinlockでポーリングが一番速いし
ロックしないのが一番速い
x86でバスロックかけずにアトミックな操作できたっけ?
もうそろそろマイクロカーネル(笑)の出番だろ
今時マイクロカーネルなんてぶっちゃけありえない。 むしろユーザー空間のものを何でもカーネル空間に押し込むのが最近のトレンド。
khttpdっていつの時代だよw 今はTUX Web Server(Red Hat Content Accelerator)が主流だろw
>>889 そういや mklinux ってどうなったのかな。
LinuxPPCに負けたはず
なぜ勝った/負けたと優劣を付けたがる?
じゃぁLinuxPPCが生き残ってMkLinuxは死んだと言い換えておくがあまり意味無いような。
おまいらなんか独自のパッチとか当ててる?
TUXっていつの時代だよw って突っ込んでいいのかな、カナ?
899 :
login:Penguin :2009/09/04(金) 21:42:27 ID:NH2dWnCj
折衷案としてハイブリッドカーネルでお願いします。
カーネルは電気とガソリンで動くようになるのですか
非常用発電機としてサーバーにガソリンエンジン設置してます
>>889-890 Linuxが伝統的な monolithic kernel の頃はかなりかったるかった。
自分のパーツはサポートされてるリストから選んで、kernel に
組み込んで再コンパイル。場合の数考えたら普及は無理だっただろう。
microkernel じゃないけど、loadable module が使われるようになって
すごく楽になった。最近 kernel recompileすら必要感じない。
使ってる分には loadable module あれば十分ではあるなぁ。
Linux は monolithic だと思ってたけど、なんか調べてたら
最近の Linux は micro でも monolithic でもないのかな。
RTLinuxで出来が良い 鳥ってどれなんでしょうか?
愛国者的にTRONです。 某筋の情報によるとねとBSDは最近ブタになりダイエットしようと言うわけで いろいろとユーザランドに放り出しているそうです りなっくちゅはメタボ
>>903 スレチ。
雑学としてはwild riverのrtlinuxよりもmontavistaの開発したCONFIG_PREEMPT/CONFIG_PREEMPT_RT
の方が主流。
マイクロカーネルならアプリケーションも非同期IOや非同期の通信が基本になる アホは同期処理しか考えられないからやっぱり普及しない
>>904 いちおうLinuxにもFUSEとかlibusbとかあります
あと、loadable moduleのおかげで伸び縮みは割と自在
>>902 も書いてるけど、今時組込み用途じゃなければカーネル本体はスリムなままで
大抵はmoduleになってると思うよ
非同期には沢山バッファが必要 マイコンなめんな まだRAM 2kレベルが一杯だわ
300ドルのお布施は高すぎです なんとかしてください
その宴会有意義なのか? 会社も出してくれんの? キャバ行ってピンサロ行っても2万余るお 世間とふれつつ有意義に使う これぞまさしく内需拡大の秘策
2.6.30.5でDMAR組み込んだらksoftirqdがブン回りまくり SMPじゃなかったら死んでた
今月も Kernel Watch ないのかな。
>>916 Alan Coxネタがスルーされてる。
SSDネタがおもしろいな。まだSSDは発展途上なのかなぁ。 大枚はたくのはまだ早いか。
カンファレンスのチケットが高すぎます SSDとかどうでもいいのでそっちを何とかしてください。 今全世界的にリーナスのいるアメリカのせいで 不況なのに300ドルもぼるのは納得いきません。
金ないなら行かなきゃいいだろ
922 :
小鉄 :2009/09/09(水) 00:09:51 ID:u5/J5csq
セクキャバ行こうぜセクキャバ 若いおなごの乳揉むんじゃぃ
>>920 $300ってカンファレンスとしてはかなり良心的な方だと思うぞ。
いいコードを書いてlinuxカーネルにどんどん取り込まれるくらいになれば タダで招待してもらえるようになると思います。 それができないで単に参加したいだけの人はそれなりの額を貢いでください。
適当なネタをでっち上げて発表者になってしまえばいいのです。
BFSはCPU>=タスクのときはタスクに100%CPU時間与えて、 CPU<タスクのときは、インタラクティブなタスクにだけCPU 時間を割り当ててるのだろうか。実際はスループット、遅延 の性能は低下してるけどユーザ「だけ」気がつかない、と。
カンファレンスなんだから会社から支給してもらえ
>>902 LinuxカーネルはUML(ユーザープロセス)としてvalgrind上で実行できるらしいし(uml valgrindで検索すると出てくる)、開発の敷居がどんどん下がってる気がするね。
Conのおかげで、またCFSが進化したね。 BFSと同程度にインタラクティビティーがあり、 BFSよりはるかにスケールする。
CUSEが行けるならBUSEも作って全部ユーザーモードに持ってこようぜ
CUSEの使い道がイマイチ思いつかない。 OSSエミュとネットワークマウスくらい。 シリアルのデバッグ用のアナライザも作れるかな。 他に標準的なキャラクタデバイスってある?
libusbと組み合わせて3Gな電話をモデムにしてしまう。 謎USB機器用ドライバを作るとかには便利じゃないかと。
qemuに繋がる/dev/kvm互換のデバイスを提供するとか。
高セキュリティーソフトウェアキーボード
ネットワークパケットの フィルタ作りたい デバイスからあがってきたデータ直接 自分で解析したいのですが どこからお勉強すればいいの?
昨日のスクリプトキディですか。犯罪ですか。
そんなの勉強する必要ないだろうね。(ry
>>940 libpcapだと解析したパケット加工して
直接送りだせないから、問題あるのですよ
どうしたらいいのでしょうか?
>>941 RAW PACKETかnetfilterを駆使?
943 :
939 :2009/09/13(日) 21:14:59 ID:IXAzErnV
>>940 あほ、そんなん常識だが、
知ってても教えるかって言ってるんだ
>>942 それだとカーネルから毎回データコピーしてくるので
もっさりしますよ?
sk_buffをユーザ空間に直接引っ張ってくる方法ないですかね?
netchannel
947 :
939 :2009/09/13(日) 23:03:16 ID:IXAzErnV
>>944 なんか、俺らの上行かれてるよw
>>945 つーか、お前が一番詳しいじゃんw
それ用のモジュールでも書けよ。
kprobesで引っ掛けてrelayfsで流してやるとか?いや、やったことないけど。
FreeBSDでnetgraphを使う
linuxカーネルのすごいところは、開発者が年々増加してるところ
Linuxカーネルのすごいところはforkしないところ。 これだけ開発者が居ればFreeLinuxやらNetLinuxとかOpenLinuxとか発生しそうなもの。 daemon君が羨ましがっている。
kernelが一枚岩でもディストリビューションが腐るほどあるわけで。
>>951 リーナスが潰せって言えば裁判だろうが
なんだろうがあらゆる手段を使って潰してきた
結果があるだけだよ。
知らないだけで結構昔からFreeLinux的なモノは
なかったりあったりしてるよ
無いのかよ。
無い方がいいだろ
ライセンスがGPLだったってのは大きいよ
>>952 ディストリビューションレベルで多様性を確保してる
いいことじゃないか
UNIX系のフォルダ配置好きじゃないのに Windows以外だとそんな配置ばかり 何が嫌いかというとルートにシステム用フォルダが並んでること
>>951 Androidはフォークって言って良いと思う。
あれ上流にマージする気あるのかなぁ。
>>958 usr/bin -> Program Files
bin、sbin -> windows
etc、home -> windows Document and Settings
usr/lib lib -> windows windows/system windows/system32 windows/system32/drivers
書き下したらWindowsの方がよっぽどキモい。
Linuxカーネルのすごいところは以前と違ってIBMなどかなりの大手企業が自分の社員を導入して、
つまり金を掛けて(各企業の費用合計額はかなりの物になるだろうね)開発してるのにそれがおしげもなく
無償で全世界に(もちろんあの将軍様まで)提供されてるところ。
>>958 UNIX自体が完全に一台のマシンを多人数マルチタスクで使用する設計だから、rootに全ての資源(IOデバイス等)
がぶるさがってた方が便利らしいね。
rootは皆にマシン資源を提供するために大事だから皆がいじれない感覚、方やWINはrootだろうがC:だろうが
デスクトップ使ってる人がいれないと不便〜的な感覚なのかな。Vistaあたりで大分システムをいじれない
様になったらしいけど、結果皆が「不便〜!」って事になっちゃったんでしょう。
linuxがbuzzwordとして使えるかぎりはforkなんてしない方が得だからforkしないってだけ
sf.jpのMagazineに応用通信がドライバ書いたってでてたから 見てみたけど、流石ガラパゴス級のパッチだな。
>>963 gitの使い方が広まってないのが原因な予感
どうでもいいことだが、CF型端末のドライバでserial_csなのに、 なぜにアーカイブは20090911n2502-usb.tar.gzなのだ?
966 :
login:Penguin :2009/09/16(水) 13:33:49 ID:B9Ta9fDi
>>960 でも /usr ってのは今となっては変な名前だと思うんだよな。
その昔は /usrの下にケントンプソンとかのホームディレクトリがあったとか聞くが…
もうOSXの書式に統一してくれよ あと/etcはレジストリ型のファイルシステムにして、データベースにいつでも移行できるように してくれ。
968 :
login:Penguin :2009/09/16(水) 15:54:06 ID:2O217/uZ
自分ですればいいじゃん・・・w
AIXとHP-UXとSolarisとBSDとDarwinとLinuxのいいとこだけをミックスしてくれ
>>959 は撤回。一部のパッチは来てるな。他のパッチも今後来そう。
DRDBマージするには最悪の説得の仕方だ・・・
kosakiの背中に吹き出物が22個出来ますように。
kosakiどのって19歳なのか? ところでWindriver LinuxとMontavistaって一緒だよな?
>ところでWindriver LinuxとMontavistaって一緒だよな? (°Д°)ハァ? (°Д°)ハァ?
windriverはintelが買収した所でmontavistaはnttドコモが出資している所。 windriverはrtlinux(+vxworks)でmontavistaはpreemt_rt。
>>967 OSXは、重要なディレクトリに大文字とスペース使うからあかんよ
タイプするとき、シフト押さなきゃならんのが、じみにうざい
>>977 高機能シェル使えば補完するから別にいいじゃん。
でも大文字とかスペースは気持ち悪いからOSXの構成は嫌いだ。
古いへっぽこなソフトの場合、ディレクトリ名やファイル名にスペースがあると異常終了する場合があるじゃん? そういうソフトを使う場合は一貫性が崩れるのが嫌だね。
なんなんだこのキモイ展開は・・・
カーネルには関係ないな…
ファイルシステムまわりはいろいろと不幸だな
ところでHurdはいつ実用化するんだ
なんなんだべさ。 scsiのデバイス関連のコンパイルがエラーが出るからググったら、2.6.31のカーネルヘッダーの $HDR_PATH/scsi/scsi.hを修正しろとか・・
980越えてるのに誰も次スレ立てないのか?
もうゴールしてもいいよね
INIT_LIST_HEAD()の定義って、何故do〜while(0)で囲ってあるのでしょうか
>>990 INIT_LIST_HEAD() に do〜while(0) なんて使ってないが、
一体何のソース見てるんだ?バージョンの違いか?
まぁいろんなマクロに何故 {} ではなく、do{}while(0) が使われてるか…
はググればいくらでも出てくる。
ぐぐったらすぐ出てきたわ。つまらん理由だな
>>993 乙
このスレももうちょっと賑やかになりますように梅
梅
996 :
login:Penguin :2009/09/21(月) 14:12:29 ID:HMDuVYgC
桜
うんこ
まんち
ちんま
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。