私的良スレ書庫
不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitterでログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。
元スレ【Linux】カーネル総合4【Kernel】
kernel スレッド一覧へ / kernel とは? / 携帯版 / dat(gz)で取得 / トップメニューみんなの評価 : ○
レスフィルター : (試験中)
Linux カーネルの設計図って無い?
ソースコードなんか読んでられないんだけど。
ソースコードなんか読んでられないんだけど。
設計図って無い?→×
ちょとソースパーサと視覚化ソフト作ってくる→〇
ちょとソースパーサと視覚化ソフト作ってくる→〇
>>357
方向性は、いい感じ。でもちょっと詳細すぎる。
ソースコードを単純にリバースしただけ?
アーキテクチャの骨になるモジュールと依存関係が分かると入りやすいんだけどなぁ。
>>358
うーむ。ちょっと本屋にいってみまふ。
それ系だと、一応以下は読んでます。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080501/300463/?ST=oss
方向性は、いい感じ。でもちょっと詳細すぎる。
ソースコードを単純にリバースしただけ?
アーキテクチャの骨になるモジュールと依存関係が分かると入りやすいんだけどなぁ。
>>358
うーむ。ちょっと本屋にいってみまふ。
それ系だと、一応以下は読んでます。
http://itpro.nikkeibp.co.jp/article/COLUMN/20080501/300463/?ST=oss
Linuxソース読めないって
スキル低すぎじゃないか?
あんなに綺麗なソースめったにないけどな
スキル低すぎじゃないか?
あんなに綺麗なソースめったにないけどな
>>363
切り出せるじゃん綺麗なら依存関係
解るってことだろ?ただ理由付けて、労力惜しんで真に理解できない
だけだろ?
解らないなら、古くて遅いコード読んで流れだけ
把握すればいいし、そこからgitで0.0.1ずつ上げて
いって差分追えばいい
楽して理解なんてできねーから
切り出せるじゃん綺麗なら依存関係
解るってことだろ?ただ理由付けて、労力惜しんで真に理解できない
だけだろ?
解らないなら、古くて遅いコード読んで流れだけ
把握すればいいし、そこからgitで0.0.1ずつ上げて
いって差分追えばいい
楽して理解なんてできねーから
CAS使ったって結局スピンループして待つわけだからロックと同じじゃなくて?
>>369,372
来なくていいから。お前の中身など何の価値もない。
来なくていいから。お前の中身など何の価値もない。
>>368
locklessといっても実はいろいろあってな。
代表例をあげていく。
まず、時刻更新時のxtime更新処理。これは速度云々以前にタイマ割り込みの延長で走る更新処理が遅れちゃいけないという制約がある。時計狂いに直結するから。
だから、普通のread/write lockでは不十分で、「どれだけreaderがいても、writerは(待ったりスピンしたりせずに)即座に書き込めるロックが必要。
逆にreaderはwriterがごにょごにょやってるときは、多少処理が遅くなってもかまわない。だって時刻更新なんてせいぜい1000Hzでしかおきないレアイベントなんだもの。大局的には誤差。
詳細は、seqlockとかシーケンスロックでググってくれ。
次はRCU。
ようするに更新するときに、古いデータが載っているメモリを直接書き換えるのではなく新しいデータが載ったコピーを作る。
んで、read側は古いデータをちゃんと読めるのでロックいらず、write側がread側が知り得ない新しいコピーに書き込めるのでロックいらず。
というアイデア。
なんと、read側はCASもメモリバリアもいらないという最強アルゴリズムなのでlinuxでは適用箇所がガンガン広がっている。
もちろん、read側がクリティカルセクション抜けたときに(ガベコレ的な感覚で)あとから古いデータの削除処理が走るので、適用箇所によってはキャッシュヒット率の関係で性能が下がるときがまれにある。
まあ、readが大多数のデータ構造にしかつかうなってこった。
locklessといっても実はいろいろあってな。
代表例をあげていく。
まず、時刻更新時のxtime更新処理。これは速度云々以前にタイマ割り込みの延長で走る更新処理が遅れちゃいけないという制約がある。時計狂いに直結するから。
だから、普通のread/write lockでは不十分で、「どれだけreaderがいても、writerは(待ったりスピンしたりせずに)即座に書き込めるロックが必要。
逆にreaderはwriterがごにょごにょやってるときは、多少処理が遅くなってもかまわない。だって時刻更新なんてせいぜい1000Hzでしかおきないレアイベントなんだもの。大局的には誤差。
詳細は、seqlockとかシーケンスロックでググってくれ。
次はRCU。
ようするに更新するときに、古いデータが載っているメモリを直接書き換えるのではなく新しいデータが載ったコピーを作る。
んで、read側は古いデータをちゃんと読めるのでロックいらず、write側がread側が知り得ない新しいコピーに書き込めるのでロックいらず。
というアイデア。
なんと、read側はCASもメモリバリアもいらないという最強アルゴリズムなのでlinuxでは適用箇所がガンガン広がっている。
もちろん、read側がクリティカルセクション抜けたときに(ガベコレ的な感覚で)あとから古いデータの削除処理が走るので、適用箇所によってはキャッシュヒット率の関係で性能が下がるときがまれにある。
まあ、readが大多数のデータ構造にしかつかうなってこった。
Linux Kernel Watch 9月版
タイマにまつわるエトセトラ
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch09a.html
ある意味「予想どおり」のカーネルサミット
カーネル時間管理の全面刷新なるか
x86、「タイマを分かってないで賞」を受賞!?
タイマにまつわるエトセトラ
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch09a.html
ある意味「予想どおり」のカーネルサミット
カーネル時間管理の全面刷新なるか
x86、「タイマを分かってないで賞」を受賞!?
>>390
NFSの時刻はサーバがもっているものなんだから、サーバが本当に時刻が狂っているとか、サーバがLinuxじゃなくて相性問題が出てるとか。
ネットワークをプローブして、プロトコル解析してサーバが送っている時間をみてみたらどう?
NFSの時刻はサーバがもっているものなんだから、サーバが本当に時刻が狂っているとか、サーバがLinuxじゃなくて相性問題が出てるとか。
ネットワークをプローブして、プロトコル解析してサーバが送っている時間をみてみたらどう?
よく分からないけど、BIOSに通知することでIO回りとかでなんかご利益があったりするんでねーかな?
モード推移だけなら決められた手順でやればいけるはずだと思うんだけど。
その辺はphenixがoemとかにしか開示されてないのか分からないけど、取り合えずここはそういうコードということで…。
モード推移だけなら決められた手順でやればいけるはずだと思うんだけど。
その辺はphenixがoemとかにしか開示されてないのか分からないけど、取り合えずここはそういうコードということで…。
前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / kernel スレッド一覧へ
みんなの評価 : ○類似してるかもしれないスレッド
- 【Linux】カーネル総合7【Kernel】 (247) - [93%] - 2022/12/17 20:30
- 【Linux】カーネル総合6【Kernel】 (980) - [93%] - 2015/4/13 16:30
- 【Linux】カーネル総合5【Kernel】 (1001) - [93%] - 2011/5/28 4:48
- 【Linux】カーネル総合3【Kernel】 (984) - [93%] - 2008/1/18 7:47 ○
- SGI KDBを使ったカーネルデバッグスレ (383) - [22%] - 2021/1/11 2:15
トップメニューへ / →のくす牧場書庫について