【Linux】カーネル総合4【Kernel】
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2007/12/02(日) 16:53:13ID:v60lx45q【Linux】カーネル総合3【Kernel】
ttp://pc11.2ch.net/test/read.cgi/linux/1146235963/
0369login:Penguin
2008/10/05(日) 23:00:11ID:uwUu94dyjava.util.concurrentのアルゴリズム見てこい
あとlock-freeで検索して論文見ろ
お前ら本当に不勉強のバカばっかりw
0370login:Penguin
2008/10/05(日) 23:53:10ID:/M4S/JQ30371login:Penguin
2008/10/05(日) 23:58:58ID:gTPno2yyUNIX (Linux) 関連に多い気がス・・・
あと、利権産業(土建屋 etc)ねw
0372login:Penguin
2008/10/06(月) 00:53:38ID:15WiK00oこれこそ日本人固有の得意技
0373login:Penguin
2008/10/06(月) 02:31:46ID:4qydW303来なくていいから。お前の中身など何の価値もない。
0374login:Penguin
2008/10/06(月) 04:07:11ID:Oq5Gl4Q6locklessといっても実はいろいろあってな。
代表例をあげていく。
まず、時刻更新時のxtime更新処理。これは速度云々以前にタイマ割り込みの延長で走る更新処理が遅れちゃいけないという制約がある。時計狂いに直結するから。
だから、普通のread/write lockでは不十分で、「どれだけreaderがいても、writerは(待ったりスピンしたりせずに)即座に書き込めるロックが必要。
逆にreaderはwriterがごにょごにょやってるときは、多少処理が遅くなってもかまわない。だって時刻更新なんてせいぜい1000Hzでしかおきないレアイベントなんだもの。大局的には誤差。
詳細は、seqlockとかシーケンスロックでググってくれ。
次はRCU。
ようするに更新するときに、古いデータが載っているメモリを直接書き換えるのではなく新しいデータが載ったコピーを作る。
んで、read側は古いデータをちゃんと読めるのでロックいらず、write側がread側が知り得ない新しいコピーに書き込めるのでロックいらず。
というアイデア。
なんと、read側はCASもメモリバリアもいらないという最強アルゴリズムなのでlinuxでは適用箇所がガンガン広がっている。
もちろん、read側がクリティカルセクション抜けたときに(ガベコレ的な感覚で)あとから古いデータの削除処理が走るので、適用箇所によってはキャッシュヒット率の関係で性能が下がるときがまれにある。
まあ、readが大多数のデータ構造にしかつかうなってこった。
0375login:Penguin
2008/10/06(月) 22:22:12ID:mx5C5H/px86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。
ロック獲得待ちで待たされるのもCASでリトライしてループするのも
処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?
xtimeの話だってreaderをスピンループさせる(待たせる)訳だし
374も「即座に書き込めるロック」と言ってるよね。
0376login:Penguin
2008/10/07(火) 03:38:15ID:EDU2AzIpヘッダファイル(video-buf.h)が移動しただけでなく、
videobuf_bufferからdmaが無くなる等、構造体も変わってしまっています。
この辺りの仕様変更に伴う、移植指南のようなものは無いでしょうか?
クローズドソースのドライバを移植したく...
0377login:Penguin
2008/10/07(火) 07:15:08ID:GqCnfBabウヘヘヘヘ
0378login:Penguin
2008/10/07(火) 08:16:00ID:gavXSVZB構造体とAPIの変遷をサンプルコード付で辿れると嬉しい。
git show-history-with-examples
とかできると完璧。
0379login:Penguin
2008/10/07(火) 21:04:44ID:GqCnfBab本当に知りたいなら労力かけろよ
あとうぜーなってぐらいもっと詳しくかけよ
とりあえず、2.6.24と比較対象にしている版は
2.6.23でいいのか?
お前が興味あるなかでvideobuf_bufferは最上位
の構造体なのか?
その辺答えてね
0380login:Penguin
2008/10/07(火) 23:21:17ID:GqCnfBab0381374
2008/10/08(水) 00:01:55ID:XuxrYF0I> RCUはCASを使わないからここでは話が違うよね。
> x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。
ほとんどのディストリはvolunteer preemptionでコンパイルされているから気にしなくていいという認識。
・・・組み込み屋さん?
> ロック獲得待ちで待たされるのもCASでリトライしてループするのも
> 処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?
えーと、spinlockの実装がまさに、CASでリトライしてループだ。
んで、ロックだけのコストで見るとspinlock最強。
じゃあ、なんでlocklessとかwaitfreeにこだわるかというとほとんどの処理は、ロック獲得処理の重要度に非対称性があるから。
xtime の話だとreadがどれだけ遅くなってもwriteがwaitfreeであることに価値があるし、
一般的に、ほとんどのデータ構造はwriteよりもreadアクセスの方が圧倒的に多いからwrite処理が10倍重くなっても
readが数%軽くなるだけで全体のパフォーマンスが上がったりする。
0382login:Penguin
2008/10/10(金) 05:59:54ID:QDBTpe1+タイマにまつわるエトセトラ
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch09a.html
ある意味「予想どおり」のカーネルサミット
カーネル時間管理の全面刷新なるか
x86、「タイマを分かってないで賞」を受賞!?
0383login:Penguin
2008/10/10(金) 17:27:26ID:2wKyzuGv0384login:Penguin
2008/10/10(金) 18:08:33ID:rH0USz290385login:Penguin
2008/10/10(金) 19:18:53ID:QltIhWOe0386login:Penguin
2008/10/10(金) 19:38:45ID:gKy/PBbY0387login:Penguin
2008/10/10(金) 21:33:22ID:uc5AJ2Yg俺もw
で、さっき2.6.27にした。
何が変わったのかわからんw
0388login:Penguin
2008/10/11(土) 00:25:12ID:dTP8bRsgftraceなるものを見つけて遊んでみてた。
traceのインターフェースがecho/catなんで、
なにかユーザー空間のツールが欲しいところ。
何かある?
0389login:Penguin
2008/10/11(土) 08:33:16ID:sgT4P9xqない。
むしろ作ってくれ
0390login:Penguin
2008/10/13(月) 16:59:26ID:ojSXQj+L3ヶ月〜2年程度なのですが、考えられるバグはありますか?
0391login:Penguin
2008/10/13(月) 17:21:19ID:6nCO1ckhjiffies
0392login:Penguin
2008/10/13(月) 20:03:41ID:GHU10YTiNFSの時刻はサーバがもっているものなんだから、サーバが本当に時刻が狂っているとか、サーバがLinuxじゃなくて相性問題が出てるとか。
ネットワークをプローブして、プロトコル解析してサーバが送っている時間をみてみたらどう?
0393login:Penguin
2008/10/13(月) 20:30:11ID:ojSXQj+L2.6では同じようなバグがあったのですが、2.4では見つかりませんでした。
>>392
OSが持っているキャッシュを表示しているようです。
0394login:Penguin
2008/10/14(火) 21:00:32ID:wSi08twRset_bios_mode()ってのがarch/x86/boot/main.cにいて、
そこでint 15hをAX=0xEC00で呼んでるんですけど、これは何が起こるのでしょうか?
0395login:Penguin
2008/10/15(水) 00:01:04ID:nv+Poa/Tて書いてあることが起きるんでないかい。
INTERRUPT LISTには書いてないのね。
新しすぎるんかな。
0396login:Penguin
2008/10/15(水) 00:34:00ID:uBK5DEDNたぶんだけどEMT64のmixedモードの判別に使ってると思う
その見てるコードの欠片の近くにbx=0x03みたいなコード無い?
0397login:Penguin
2008/10/15(水) 01:31:55ID:14QY086S325 # 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
それ以前はどうやって開発してたのかさっぱり知らない新参者なので昔のは知らない…。
0398394
2008/10/15(水) 21:00:04ID:NwHso+DiレスThxです。「int 15h EC00」などで検索かけても不思議と見当たらないんですよね。
E820ならうじゃうじゃ出てくるのに。
で、long mode=64bitモードに切り替えるってことですか、x86_64用にマクロで囲っているし。
プロテクトモードに遷移する時と比べると意外とあっさりだなと思ってIA-32 arch.のvol. 3A見たら
Fig.2-3では実アドレスモードからは直接行けないらしくて・・・その辺System Manage Mode経由で遷移とか
BIOSの中の人がやってくれてるのでしょうか。
0399login:Penguin
2008/10/15(水) 22:26:01ID:14QY086Sモード推移だけなら決められた手順でやればいけるはずだと思うんだけど。
その辺はphenixがoemとかにしか開示されてないのか分からないけど、取り合えずここはそういうコードということで…。
0400login:Penguin
2008/10/15(水) 23:05:58ID:hONPkhnEmake zImage
make bzImage
の3つの違いを教えてください。お願いします。
0401login:Penguin
2008/10/15(水) 23:42:35ID:HFOVAyRnググってください。お願いします。
0402login:Penguin
2008/10/16(木) 04:57:58ID:FEUHiM4dmake help
してみたら。
0403login:Penguin
2008/10/31(金) 04:50:54ID:4qE6ZtvCconfigは2.6.26系からいじっていないんだけど、どこか設定がまずいのかな??
0404login:Penguin
2008/10/31(金) 04:59:39ID:kJjAWuX50405login:Penguin
2008/10/31(金) 05:03:03ID:4qE6ZtvCそれはやりました。
故になんでだろうな…と言うことです。
0406login:Penguin
2008/11/01(土) 20:54:11ID:Od5nmufSそのエラーは普通はFSかストレージのドライバがOFFになっているか必要なオプションがついていなかったかで、マウント出来なかったときに表示されるんだが、今回は違いそうだな
失礼ながら403氏のうっかり手順ミスの可能性が一番高いので
(1) 2.6.26でもう一度ビルドしてブートするか確認
(2) 2.6.27でまったく同じ.config と、まったく同じビルド手順でブートするか確認
とやってみてくれない。
0407login:Penguin
2008/11/04(火) 21:44:20ID:iceok3E4http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch10a.html
ext4:Delayed Allocation
ブロック・レイヤにおけるデータの完全性チェック
ネットワークデバイスのマルチキュー対応
ftrace
外部ファームウェアローディング
1GB ヒュージページサポート
x86の最大CPU数、最大ノード数が拡大
2.6.27は2.6.16に代わるLTSに
Ingo、またまたお説教を食らうの巻
サブシステムに進化するlinux-staging
バージョン名規則が変わる? 「自転車置き場議論の始まりだ!」
0408login:Penguin
2008/11/04(火) 22:18:56ID:BBZMQ50AWindows Server 2003にて、カーネルパラメータチューニングは
可能でしょうか?
I/Oサイズの変更です。
どなたか教えていただければ幸いです。
0409login:Penguin
2008/11/04(火) 22:19:55ID:nUFsRWLN0410login:Penguin
2008/11/04(火) 23:30:55ID:jzEsAw5kこのボードは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の割り込みが飛び込んできて
しまっているということでしょうか?
その場合、初期化時は割り込みをマスクしておくのが正しいのでしょうか?
0411login:Penguin
2008/11/06(木) 16:17:55ID:04JlPoOkhttp://itpro.nikkeibp.co.jp/article/MAG/20081106/318629/
0412login:Penguin
2008/11/09(日) 01:06:19ID:bk9zKri0socket-socketでデータ送受信できねぇ
なんか別の方法知らないですか?
PF_RINGってどうなのかな?
0413login:Penguin
2008/11/13(木) 15:40:35ID:z5Rzaa+xどこかにありませんか?
故あって古い版数使ってるんだけど、偶にサイレントクラッシュするので
その版数以降の修正済みバグからクラッシュの原因を追いかけたいんだけど…
ChangeLogを見てみたらテキストファイルで50MB、
修正件数にすると8万件近くあって、手動ではむりぽorz
0414login:Penguin
2008/11/13(木) 15:54:04ID:jzO+yvG40415login:Penguin
2008/11/13(木) 15:59:27ID:b/Y4G7aYつ git bisect
0416login:Penguin
2008/11/13(木) 16:49:33ID:z5Rzaa+xログが全く残らないことより。
HDD上のログファイル、コンソール、Trap、NvSRAMのどれにもログが残らず、
暫くしてからwatchdogのオーバーフローでreboot。
同じHW構成の別筐体でも発生するので、カーネルが固まったと判断しました。
>415
情報ありがとうございます。
が、私の件では発生のトリガーが不明なので、現象を再現させることができません。
発生頻度も半年に1回程度なので、try&error方式はちょっと厳しいです。
git bisect自体は初耳のツールだったので、別件でトラブった時に活用させていただきます。
0417login:Penguin
2008/11/13(木) 17:51:25ID:jzO+yvG40418login:Penguin
2008/11/15(土) 12:35:38ID:elY6pU1HLinux Kernel "hfs_cat_find_brec()" Buffer Overflow Vulnerability
Release Date: 2008-11-14
Critical: Less critical
Impact: DoS System access
Where: From remote
Subscribe: Instant alerts on relevant vulnerabilities
CVE reference: CVE-2008-5025
Original Advisory: http://kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.27.6
0419login:Penguin
2008/11/16(日) 21:17:01ID:Cvogqgs5対応kernel ってリリース予定ありますか?
0420login:Penguin
2008/11/16(日) 21:58:58ID:7dfqW/4b0421login:Penguin
2008/11/17(月) 00:22:12ID:UFThdr5zベンチ回しただけでCPUの温度が90度まで上昇する
CPUなんかに対応しねーだろw常識で考えろ
0422login:Penguin
2008/11/29(土) 21:56:27ID:x6WDXIQWhttp://blog.miraclelinux.com/yume/2008/05/git-2942.html
カーネルにおけるリグレッションの特定/ユメのチカラ
http://blog.miraclelinux.com/yume/2007/10/post_d748.html
>それにしても、Linuxは2.6.23にしても6700近いパッチを管理しているとは驚きです。
>Xenと比較しても7倍ぐらいのパッチの数です。
0423login:Penguin
2008/12/02(火) 18:05:16ID:X/oMSjsBtask_struct構造体内にchar comm[16]以外に実行プログラムを識別できる情報
は入ってないんでしょうか.
カーネルのソースレベルでtask_struct構造体をのぞくだけじゃ,このプロセスは
このプログラムが実行されている!って判別できなくて困っております.
どなたか良い知恵をご教授ください.
0424login:Penguin
2008/12/02(火) 19:36:20ID:/6v5cHNFls -l /proc/self/exe を追っかければいいんじゃない?
0425login:Penguin
2008/12/20(土) 14:53:04ID:/iHy7FGl0426login:Penguin
2008/12/25(木) 16:31:41ID:hQQgeWtjFrom: Linus Torvalds
Date: Wed Dec 24 2008 - 18:53:01 EST
http://lkml.indiana.edu/hypermail/linux/kernel/0812.3/00103.html
you can now download Linux-2.6.28, and compile it to your hearts content!
http://www.kernel.org/
The latest stable version of the Linux kernel is: 2.6.28 2008-12-24 23:45
0427login:Penguin
2008/12/25(木) 16:41:49ID:myw3s4fY0428login:Penguin
2008/12/25(木) 16:53:09ID:myw3s4fY0429login:Penguin
2008/12/25(木) 23:02:53ID:d43lFXIj0430login:Penguin
2008/12/30(火) 06:18:45ID:91ap++blこれで全部終わるんだっけ?
0431login:Penguin
2008/12/30(火) 13:42:59ID:o22EezVqkernel2.26.27.10->2.26.28にしたら
USBのラジオと温度計が動かなくなってしまった。
usbhidのところが変わったみたい。
0432login:Penguin
2009/01/02(金) 04:30:22ID:/cJ5cWG/ttp://patchwork.kernel.org/
0433login:Penguin
2009/01/06(火) 00:35:48ID:rUYfOwOittp://www.atmarkit.co.jp/flinux/rensai/watch2008/watch12a.html
0434login:Penguin
2009/01/09(金) 11:54:46ID:S2/Ux7ezpanicするのは例外のベクタに飛んだ後なので場所が見当付かず...
x86のマニュアルには「ある例外の例外ハンドラを呼び出している最中に次の例外を
検出」とありますが、
とりあえずリモートデバッグで一個目の例外を拾ったりすることはできるでしょうか。
0435login:Penguin
2009/01/09(金) 12:54:51ID:BkTWwdib0436login:Penguin
2009/01/09(金) 16:23:06ID:3p0UKgJv環境は、Ubuntu 8.04 を Apple の MacBook というマシン (Core 2 Duo)でネイティブ
に動かしたり(起動時には Boot Camp という機能が使われるが、基本的に普通の
x86 PC 用のディストリビューションを走らせている)、
あるいは VMware Fusion (Mac OS X 上の VMware) の中で動かしたりしてます。
Linux に ABI の異なる他の x86系 Unix のバイナリを走らせる機能がありますが、
それが面白いなと思って、自分でも新たに真似してみて、それでトラブルに陥ってます。
ほんのちょっとだけ動くようにはなったんですが。
なので「腐ったコードを自分でカーネルに入れてそれを解決できないお前が悪い」と
言われればそれまでなんですが(w こういう場合にどのようにデバッグすべきか何か
指針でもあればなあ、と思っています。
とりあえずリモートデバッグしてみたのですが、ダブルフォールトで飛ばされた後は
スタックトレースもほとんど残らず、問題がどこで起きているか見当がつかない状況です。
0437login:Penguin
2009/01/09(金) 17:09:04ID:iT3+jKu50438login:Penguin
2009/01/09(金) 17:49:21ID:W73bf0vn0439login:Penguin
2009/01/11(日) 06:42:10ID:yXhZcpX6で、なんか珍しく日本語!?とおもったら、、、
>Pete Zaitcev: ツンデレ★りなっくす
>「ツンデレ★りなっくす」がほしいです。 Maybe I should add it to some kind of wishlist? Too bad it doesn't work across countries.
一期に眠気が冷めた。
0440login:Penguin
2009/01/11(日) 09:17:31ID:+FAIhDLJww
0441login:Penguin
2009/01/11(日) 18:29:14ID:VCi3yThsハゲわろwww
0442login:Penguin
2009/01/11(日) 21:24:18ID:S8R0EgJE0443login:Penguin
2009/01/11(日) 22:27:39ID:Tg6D2cfZhttp://people.redhat.com/zaitcev/anime/sorezoreno1way.pdf
なんてものを見つけてしまった・・・
筋金入りだな。今年のKernel Summitには嬉々としてやってくるに違いない(w
0444login:Penguin
2009/01/17(土) 02:52:19ID:PsPn1kn+http://forums.steampowered.com/forums/showthread.php?t=486424
このサイトにはKernelによってCPU制御が250Hzになってる状況を1000Hzにする手順が説明されている ということでいいのかな
出来ればこの手順を簡潔にまとめてくれる神はいないだろうか お願いします生まれてきてごめんなさい
0445login:Penguin
2009/01/17(土) 04:16:53ID:LUzqyZhm俺も詳しいことはしらんよ。けどCONFIG_HZ=250ってのは1秒間に250回タイマ割り込みをする、という設定らしい。
つまり4msに一回タイマ割り込みを発生させる。
CPU制御というかタイマー割り込みね。
0446login:Penguin
2009/01/17(土) 06:48:33ID:S+ngPFbAそれはOSの時計の精度を決める奴だよ。操作性とかにも影響する。
250Hzだと4ミリ秒単位、1000Hzだと1ミリ秒単位。
精度を上げすぎると負荷が上がったりハードウェアの制御で不具合が出るから
多くても1000Hzにしてある。
後、変更するにはカーネルの再構築が必要で、環境によってやり方が違うから自分で調べよう
0447login:Penguin
2009/01/17(土) 08:22:14ID:MbjHFxeA0448login:Penguin
2009/01/17(土) 08:24:38ID:M1p6wg8lいらない。
0449login:Penguin
2009/01/17(土) 11:58:39ID:zS7kgnq/PF_RINGって標準で使えるようになるの?
0450login:Penguin
2009/01/17(土) 21:21:43ID:J13OQkWHちっとも速くなった気がせんわけだが
0451login:Penguin
2009/01/17(土) 21:48:25ID:M1p6wg8l945GM だけど速くなったよ。
Compiz Fusion の Expo や Desktop Wall プラグインと Wallpaper プラグインの
組み合わせ動作がキビキビになった。
0452login:Penguin
2009/01/17(土) 23:46:39ID:aC/h0b1Aここにタイマ割り込みの事が書いてある。カーネル2.6.13-rc1から250Hzになったんだ。
それ以前はデフォルトが1000Hzだったとは知らなかった・・
0453login:Penguin
2009/01/18(日) 00:17:58ID:Ny7bYr1Jないし、リーナス氏も1000にして確実に良い事有るのかいってみろって言うくらいだから、今回
ちょっと250に戻してみるかw
0454login:Penguin
2009/01/18(日) 00:30:20ID:0uG030Dj250の理由が何かあるって事かな?
0455login:Penguin
2009/01/18(日) 03:00:44ID:ClRnsqKIただ、個人的にはHZはCLOCK_TICK_RATEの約数であるべきだと思う。
0456login:Penguin
2009/01/18(日) 19:06:25ID:xhI1EKWKxconfigの説明に書いてあったので1000から300へしてみました。
Linux上のアプリの動きは体感できないです。でもVmwareでゲストのXP使うときにWINUPDATEなどで
XPが激しくHDDにアクセスする時に今まではホストのLinuxがかなりもっさりしてたのですが、これが
無くなりました。
0457login:Penguin
2009/01/20(火) 03:34:13ID:O8avWr3l01/19/2009 03:48 AM
http://www.kernel.org/kdist/fragments/stable.html
0458login:Penguin
2009/01/24(土) 18:37:47ID:j3OrWlaN�@インストールしただけで選民思想
�Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
�Bコマンド打ち込んでプロだと勘違い
�C黙ってwindowsでも使ってろと間口を狭める
�D素人がだのなんだのとwindowユーザーを馬鹿にする
�Eカーネルいじればいいだろと無茶を要求
�Flinux開発者とのずれを認識できていない
�Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく
冫─' ~  ̄´^-、
/ 丶
/ ノ、
/ /ヽ丿彡彡彡彡彡ヽヽ
| 丿 ミ
| 彡 ____ ____ ミ/
ゝ_//| |⌒| |ヽゞ
|tゝ \__/_ \__/ | | __________
ヽノ /\_/\ |ノ /
ゝ /ヽ───‐ヽ / / linuxはめんどくさくて難しい分だけ、
/|ヽ ヽ──' / < 自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
/ | \  ̄ / \
/ ヽ ‐-  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0459login:Penguin
2009/01/24(土) 18:38:34ID:7lr1RUyg黙ってwindowsでも使ってろ
0460login:Penguin
2009/01/24(土) 18:57:38ID:f4Jx4fnKこの1行だけで十分笑えたw
結局windowsでunix系のツールがないから
使うんだよね。
0461login:Penguin
2009/01/25(日) 16:48:50ID:ZZ9FAEtv連続してエラーを吐くようになってしまいます。
このときkernel_sendmsgの戻り値で-11が返ってきているのですが、-11が何を表して
いるかわかる方いらっしゃいませんか?
送信が途切れたら残りのバッファを再送するような処理を書いたのですが
うまく動かなくて・・・。
0462login:Penguin
2009/01/25(日) 19:56:13ID:KzNWuG0Einclude/asm-generic/errno-base.hを見たらこう書いてあったから、
#define EAGAIN 11 /* Try again */
再送しようとしているんじゃない?
0463login:Penguin
2009/01/25(日) 21:59:51ID:ZZ9FAEtvなるほど、そんなところに書いてあったんですね。
MSG_DONTWAITと設定していたためにEAGAIN(ソケットが非停止に設定されており、要求された操作が停止した。)と返ってきていたようです。
これを手がかりに頑張ってみます。
助かりました。ありがとうございます。
0464login:Penguin
2009/01/30(金) 18:37:37ID:pFX4Hfiaスケジューラの挙動は三巨頭会談で決まるのだ?
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch01a.html
トピック満載の2.6.28リリース
まだまだあるぞ新機能
ついにLinuxにもadaptive lock導入か?!
-stableの進ちょくはお休み
0465login:Penguin
2009/01/30(金) 18:57:15ID:qnrJLGzh2ページ目に文章が重複しているところがあるね。
編集仕事しろ。
0466login:Penguin
2009/01/30(金) 19:06:53ID:pFX4Hfia別のロック待ちやI/O待ちで寝ている時もビジーウェイトなのか?
それとももじもじし始めてから中の人が寝た場合の話?
0467login:Penguin
2009/01/30(金) 19:13:08ID:vTDTCFoG0468login:Penguin
2009/02/01(日) 19:05:22ID:UNptCmpnSolaris由来の「伝統的な」Adaptive lockは違う。あっちは、一定時間スピンして、だまなら寝る方式なので、
1分だけトイレの前でもじもじして、それ以上なら、きっと中の人は大のほうだろうと推測して、別の便所を探しに行く。
今回Linuxで議論されているのは、相手が寝ているかどうかを見ているので、別のロックやI/Oで寝ていたら一回も
スピンせずに即座にブロック。
便器にたとえると、対象のトイレの前に立つと、ESPで中の人が大か小かが分かってしまうので、
(スケジューラが教えてくれるので)、待った方が良いかどうかが誤りなく瞬時に判別できる。
ただし、世の中には小なのにやたら時間をかける変な人がいて、そういうときだけ判断を誤る。
■ このスレッドは過去ログ倉庫に格納されています