トップページ⇒linux
1001コメント296KB

【Linux】カーネル総合4【Kernel】

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2007/12/02(日) 16:53:13ID:v60lx45q
●前スレ
【Linux】カーネル総合3【Kernel】
ttp://pc11.2ch.net/test/read.cgi/linux/1146235963/
0369login:Penguin2008/10/05(日) 23:00:11ID:uwUu94dy
>>368
java.util.concurrentのアルゴリズム見てこい
あとlock-freeで検索して論文見ろ

お前ら本当に不勉強のバカばっかりw
0370login:Penguin2008/10/05(日) 23:53:10ID:/M4S/JQ3
知る者が知らざるを者を罵倒する。これは日本人(固有)の得意技。
0371login:Penguin2008/10/05(日) 23:58:58ID:gTPno2yy
>>370
UNIX (Linux) 関連に多い気がス・・・
あと、利権産業(土建屋 etc)ねw
0372login:Penguin2008/10/06(月) 00:53:38ID:15WiK00o
教えてもらったものが教えたものをひがむ
これこそ日本人固有の得意技
0373login:Penguin2008/10/06(月) 02:31:46ID:4qydW303
>>369,372
来なくていいから。お前の中身など何の価値もない。
0374login:Penguin2008/10/06(月) 04:07:11ID:Oq5Gl4Q6
>>368
locklessといっても実はいろいろあってな。
代表例をあげていく。

まず、時刻更新時のxtime更新処理。これは速度云々以前にタイマ割り込みの延長で走る更新処理が遅れちゃいけないという制約がある。時計狂いに直結するから。
だから、普通のread/write lockでは不十分で、「どれだけreaderがいても、writerは(待ったりスピンしたりせずに)即座に書き込めるロックが必要。
逆にreaderはwriterがごにょごにょやってるときは、多少処理が遅くなってもかまわない。だって時刻更新なんてせいぜい1000Hzでしかおきないレアイベントなんだもの。大局的には誤差。
詳細は、seqlockとかシーケンスロックでググってくれ。

次はRCU。
ようするに更新するときに、古いデータが載っているメモリを直接書き換えるのではなく新しいデータが載ったコピーを作る。
んで、read側は古いデータをちゃんと読めるのでロックいらず、write側がread側が知り得ない新しいコピーに書き込めるのでロックいらず。
というアイデア。
なんと、read側はCASもメモリバリアもいらないという最強アルゴリズムなのでlinuxでは適用箇所がガンガン広がっている。
もちろん、read側がクリティカルセクション抜けたときに(ガベコレ的な感覚で)あとから古いデータの削除処理が走るので、適用箇所によってはキャッシュヒット率の関係で性能が下がるときがまれにある。
まあ、readが大多数のデータ構造にしかつかうなってこった。



0375login:Penguin2008/10/06(月) 22:22:12ID:mx5C5H/p
RCUはCASを使わないからここでは話が違うよね。
x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。
ロック獲得待ちで待たされるのもCASでリトライしてループするのも
処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?
xtimeの話だってreaderをスピンループさせる(待たせる)訳だし
374も「即座に書き込めるロック」と言ってるよね。
0376login:Penguin2008/10/07(火) 03:38:15ID:EDU2AzIp
2.6.24で行われたvideobufの仕様変更について教えてください。
ヘッダファイル(video-buf.h)が移動しただけでなく、
videobuf_bufferからdmaが無くなる等、構造体も変わってしまっています。

この辺りの仕様変更に伴う、移植指南のようなものは無いでしょうか?
クローズドソースのドライバを移植したく...
0377login:Penguin2008/10/07(火) 07:15:08ID:GqCnfBab
知ってるけどおしえませーんw
ウヘヘヘヘ
0378login:Penguin2008/10/07(火) 08:16:00ID:gavXSVZB
同じく。
構造体とAPIの変遷をサンプルコード付で辿れると嬉しい。

 git show-history-with-examples

とかできると完璧。
0379login:Penguin2008/10/07(火) 21:04:44ID:GqCnfBab
>>376
本当に知りたいなら労力かけろよ
あとうぜーなってぐらいもっと詳しくかけよ

とりあえず、2.6.24と比較対象にしている版は
2.6.23でいいのか?
お前が興味あるなかでvideobuf_bufferは最上位
の構造体なのか?


その辺答えてね
0380login:Penguin2008/10/07(火) 23:21:17ID:GqCnfBab
さっさと教えろよコラ
03813742008/10/08(水) 00:01:55ID:XuxrYF0I
>>375

> RCUはCASを使わないからここでは話が違うよね。
> x86のRCU_CLASSICだとプリエンプト禁止するとか実装上のペナルティはあるけど。

ほとんどのディストリはvolunteer preemptionでコンパイルされているから気にしなくていいという認識。
・・・組み込み屋さん?

> ロック獲得待ちで待たされるのもCASでリトライしてループするのも
> 処理が終わらないという意味では待ち状態なんだし大差無いんじゃないの?

えーと、spinlockの実装がまさに、CASでリトライしてループだ。
んで、ロックだけのコストで見るとspinlock最強。

じゃあ、なんでlocklessとかwaitfreeにこだわるかというとほとんどの処理は、ロック獲得処理の重要度に非対称性があるから。
xtime の話だとreadがどれだけ遅くなってもwriteがwaitfreeであることに価値があるし、
一般的に、ほとんどのデータ構造はwriteよりもreadアクセスの方が圧倒的に多いからwrite処理が10倍重くなっても
readが数%軽くなるだけで全体のパフォーマンスが上がったりする。
0382login:Penguin2008/10/10(金) 05:59:54ID:QDBTpe1+
Linux Kernel Watch 9月版
 タイマにまつわるエトセトラ
http://www.atmarkit.co.jp/flinux/rensai/watch2008/watch09a.html
ある意味「予想どおり」のカーネルサミット
カーネル時間管理の全面刷新なるか
x86、「タイマを分かってないで賞」を受賞!?
0383login:Penguin2008/10/10(金) 17:27:26ID:2wKyzuGv
2.6.27 キタ
0384login:Penguin2008/10/10(金) 18:08:33ID:rH0USz29
ついさっき 2.6.26.6 がきたと思ったのに
0385login:Penguin2008/10/10(金) 19:18:53ID:QltIhWOe
俺なんか2.6.27-rc9ビルドしたの昨日だぜ?w
0386login:Penguin2008/10/10(金) 19:38:45ID:gKy/PBbY
ま、そんなもんさw
0387login:Penguin2008/10/10(金) 21:33:22ID:uc5AJ2Yg
>>385
俺もw
で、さっき2.6.27にした。
何が変わったのかわからんw
0388login:Penguin2008/10/11(土) 00:25:12ID:dTP8bRsg
http://kernelnewbies.org/Linux_2_6_27

ftraceなるものを見つけて遊んでみてた。
traceのインターフェースがecho/catなんで、
なにかユーザー空間のツールが欲しいところ。
何かある?
0389login:Penguin2008/10/11(土) 08:33:16ID:sgT4P9xq
>>388
ない。
むしろ作ってくれ
0390login:Penguin2008/10/13(月) 16:59:26ID:ojSXQj+L
2.4で、NFSが古いタイムスタンプを表示するという障害が出てます。

3ヶ月〜2年程度なのですが、考えられるバグはありますか?
0391login:Penguin2008/10/13(月) 17:21:19ID:6nCO1ckh
>>390
jiffies
0392login:Penguin2008/10/13(月) 20:03:41ID:GHU10YTi
>>390
NFSの時刻はサーバがもっているものなんだから、サーバが本当に時刻が狂っているとか、サーバがLinuxじゃなくて相性問題が出てるとか。
ネットワークをプローブして、プロトコル解析してサーバが送っている時間をみてみたらどう?
0393login:Penguin2008/10/13(月) 20:30:11ID:ojSXQj+L
>>391
2.6では同じようなバグがあったのですが、2.4では見つかりませんでした。

>>392
OSが持っているキャッシュを表示しているようです。
0394login:Penguin2008/10/14(火) 21:00:32ID:wSi08twR
カーネルに入る前みたいな話で難ですけど、
set_bios_mode()ってのがarch/x86/boot/main.cにいて、
そこでint 15hをAX=0xEC00で呼んでるんですけど、これは何が起こるのでしょうか?
0395login:Penguin2008/10/15(水) 00:01:04ID:nv+Poa/T
/* Tell the BIOS what CPU mode we intend to run in. */
て書いてあることが起きるんでないかい。

INTERRUPT LISTには書いてないのね。
新しすぎるんかな。
0396login:Penguin2008/10/15(水) 00:34:00ID:uBK5DEDN
>>394
たぶんだけどEMT64のmixedモードの判別に使ってると思う

その見てるコードの欠片の近くにbx=0x03みたいなコード無い?
0397login:Penguin2008/10/15(水) 01:31:55ID:14QY086S
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

それ以前はどうやって開発してたのかさっぱり知らない新参者なので昔のは知らない…。
03983942008/10/15(水) 21:00:04ID: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の中の人がやってくれてるのでしょうか。
0399login:Penguin2008/10/15(水) 22:26:01ID:14QY086S
よく分からないけど、BIOSに通知することでIO回りとかでなんかご利益があったりするんでねーかな?
モード推移だけなら決められた手順でやればいけるはずだと思うんだけど。
その辺はphenixがoemとかにしか開示されてないのか分からないけど、取り合えずここはそういうコードということで…。
0400login:Penguin2008/10/15(水) 23:05:58ID:hONPkhnE
make vmlinuz
make zImage
make bzImage
の3つの違いを教えてください。お願いします。
0401login:Penguin2008/10/15(水) 23:42:35ID:HFOVAyRn
>>400
ググってください。お願いします。
0402login:Penguin2008/10/16(木) 04:57:58ID:FEUHiM4d
>>400
make help
してみたら。
0403login:Penguin2008/10/31(金) 04:50:54ID:4qE6ZtvC
2.6.27.4をDebian/lennyのmake-kpkgでビルドしてインスコしてみたけど、ブート直後に/initがありません。と言ってpanic起こすのですが、上手く行った人いますか?
configは2.6.26系からいじっていないんだけど、どこか設定がまずいのかな??
0404login:Penguin2008/10/31(金) 04:59:39ID:kJjAWuX5
make-kpkg --initrd
0405login:Penguin2008/10/31(金) 05:03:03ID:4qE6ZtvC
>>404
それはやりました。
故になんでだろうな…と言うことです。
0406login:Penguin2008/11/01(土) 20:54:11ID:Od5nmufS
>>403
そのエラーは普通はFSかストレージのドライバがOFFになっているか必要なオプションがついていなかったかで、マウント出来なかったときに表示されるんだが、今回は違いそうだな
失礼ながら403氏のうっかり手順ミスの可能性が一番高いので

(1) 2.6.26でもう一度ビルドしてブートするか確認
(2) 2.6.27でまったく同じ.config と、まったく同じビルド手順でブートするか確認

とやってみてくれない。

0407login:Penguin2008/11/04(火) 21:44:20ID:iceok3E4
Linux Kernel Watch 10月版
http://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:Penguin2008/11/04(火) 22:18:56ID:BBZMQ50A
板違いですみません。
Windows Server 2003にて、カーネルパラメータチューニングは
可能でしょうか?
I/Oサイズの変更です。
どなたか教えていただければ幸いです。
0409login:Penguin2008/11/04(火) 22:19:55ID:nUFsRWLN
板違い。
0410login:Penguin2008/11/04(火) 23:30:55ID:jzEsAw5k
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の割り込みが飛び込んできて
しまっているということでしょうか?
その場合、初期化時は割り込みをマスクしておくのが正しいのでしょうか?
0411login:Penguin2008/11/06(木) 16:17:55ID:04JlPoOk
Linuxカーネルにリモートバッファオーバーフローの脆弱性:ITpro
http://itpro.nikkeibp.co.jp/article/MAG/20081106/318629/
0412login:Penguin2008/11/09(日) 01:06:19ID:bk9zKri0
vmspliceで
socket-socketでデータ送受信できねぇ
なんか別の方法知らないですか?
PF_RINGってどうなのかな?
0413login:Penguin2008/11/13(木) 15:40:35ID:z5Rzaa+x
過去のkernelのパッチ情報がデータベース化されているサイトって
どこかにありませんか?
故あって古い版数使ってるんだけど、偶にサイレントクラッシュするので
その版数以降の修正済みバグからクラッシュの原因を追いかけたいんだけど…

ChangeLogを見てみたらテキストファイルで50MB、
修正件数にすると8万件近くあって、手動ではむりぽorz
0414login:Penguin2008/11/13(木) 15:54:04ID:jzO+yvG4
kernelの問題だと思った根拠は?
0415login:Penguin2008/11/13(木) 15:59:27ID:b/Y4G7aY
>>413
つ git bisect
0416login:Penguin2008/11/13(木) 16:49:33ID:z5Rzaa+x
>414
ログが全く残らないことより。
HDD上のログファイル、コンソール、Trap、NvSRAMのどれにもログが残らず、
暫くしてからwatchdogのオーバーフローでreboot。
同じHW構成の別筐体でも発生するので、カーネルが固まったと判断しました。

>415
情報ありがとうございます。
が、私の件では発生のトリガーが不明なので、現象を再現させることができません。
発生頻度も半年に1回程度なので、try&error方式はちょっと厳しいです。
git bisect自体は初耳のツールだったので、別件でトラブった時に活用させていただきます。
0417login:Penguin2008/11/13(木) 17:51:25ID:jzO+yvG4
watchdog止めてみたりはしなかったの?
0418login:Penguin2008/11/15(土) 12:35:38ID:elY6pU1H
http://secunia.com/advisories/32719/
Linux 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:Penguin2008/11/16(日) 21:17:01ID:Cvogqgs5
x58 + core i7
対応kernel ってリリース予定ありますか?
0420login:Penguin2008/11/16(日) 21:58:58ID:7dfqW/4b
ないよ
0421login:Penguin2008/11/17(月) 00:22:12ID:UFThdr5z
>>410
ベンチ回しただけでCPUの温度が90度まで上昇する
CPUなんかに対応しねーだろw常識で考えろ
0422login:Penguin2008/11/29(土) 21:56:27ID:x6WDXIQW
git入門
http://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:Penguin2008/12/02(火) 18:05:16ID:X/oMSjsB
突然の質問をご容赦を.
task_struct構造体内にchar comm[16]以外に実行プログラムを識別できる情報
は入ってないんでしょうか.
カーネルのソースレベルでtask_struct構造体をのぞくだけじゃ,このプロセスは
このプログラムが実行されている!って判別できなくて困っております.

どなたか良い知恵をご教授ください.
0424login:Penguin2008/12/02(火) 19:36:20ID:/6v5cHNF
>>423
ls -l /proc/self/exe を追っかければいいんじゃない?
0425login:Penguin2008/12/20(土) 14:53:04ID:/iHy7FGl
保守
0426login:Penguin2008/12/25(木) 16:31:41ID:hQQgeWtj
Linux-Kernel Archive: Happy v2.6.28
From: 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:Penguin2008/12/25(木) 16:41:49ID:myw3s4fY
やっぱクリスマスにだすと思ったぜw
0428login:Penguin2008/12/25(木) 16:53:09ID:myw3s4fY
俺にとってはリーナスはサンタになったな
0429login:Penguin2008/12/25(木) 23:02:53ID:d43lFXIj
さっそく、2.6.28のバグ報告を Dear Santa! ではじめたバカ^H^H 空気読んだ人が出現してたよ
0430login:Penguin2008/12/30(火) 06:18:45ID:91ap++bl
SPARCも32/64統合か。
これで全部終わるんだっけ?
0431login:Penguin2008/12/30(火) 13:42:59ID:o22EezVq
>>430
kernel2.26.27.10->2.26.28にしたら
USBのラジオと温度計が動かなくなってしまった。
usbhidのところが変わったみたい。
0432login:Penguin2009/01/02(金) 04:30:22ID:/cJ5cWG/
こんなものが出来たらしい
ttp://patchwork.kernel.org/
0433login:Penguin2009/01/06(火) 00:35:48ID:rUYfOwOi
12月版 カーネルゆく年くる年、2009年に来る機能はどれだ?
ttp://www.atmarkit.co.jp/flinux/rensai/watch2008/watch12a.html
0434login:Penguin2009/01/09(金) 11:54:46ID:S2/Ux7ez
カーネル内でダブルフォールトが発生して困ってます。
panicするのは例外のベクタに飛んだ後なので場所が見当付かず...

x86のマニュアルには「ある例外の例外ハンドラを呼び出している最中に次の例外を
検出」とありますが、
とりあえずリモートデバッグで一個目の例外を拾ったりすることはできるでしょうか。
0435login:Penguin2009/01/09(金) 12:54:51ID:BkTWwdib
環境は?
0436login:Penguin2009/01/09(金) 16:23:06ID:3p0UKgJv
>>435
環境は、Ubuntu 8.04 を Apple の MacBook というマシン (Core 2 Duo)でネイティブ
に動かしたり(起動時には Boot Camp という機能が使われるが、基本的に普通の
x86 PC 用のディストリビューションを走らせている)、
あるいは VMware Fusion (Mac OS X 上の VMware) の中で動かしたりしてます。

Linux に ABI の異なる他の x86系 Unix のバイナリを走らせる機能がありますが、
それが面白いなと思って、自分でも新たに真似してみて、それでトラブルに陥ってます。
ほんのちょっとだけ動くようにはなったんですが。

なので「腐ったコードを自分でカーネルに入れてそれを解決できないお前が悪い」と
言われればそれまでなんですが(w こういう場合にどのようにデバッグすべきか何か
指針でもあればなあ、と思っています。

とりあえずリモートデバッグしてみたのですが、ダブルフォールトで飛ばされた後は
スタックトレースもほとんど残らず、問題がどこで起きているか見当がつかない状況です。
0437login:Penguin2009/01/09(金) 17:09:04ID:iT3+jKu5
腐ったコードが悪いじゃないの?
0438login:Penguin2009/01/09(金) 17:49:21ID:W73bf0vn
ダブルフォルトを防ぐにはひたすらサーブ練習しかないと思うんだ。
0439login:Penguin2009/01/11(日) 06:42:10ID:yXhZcpX6
この寒い朝から、http://planet.kernel.org/を読んでいたんですよ。
で、なんか珍しく日本語!?とおもったら、、、

>Pete Zaitcev: ツンデレ★りなっくす
>「ツンデレ★りなっくす」がほしいです。 Maybe I should add it to some kind of wishlist? Too bad it doesn't work across countries.

一期に眠気が冷めた。
0440login:Penguin2009/01/11(日) 09:17:31ID:+FAIhDLJ
>>439
ww
0441login:Penguin2009/01/11(日) 18:29:14ID:VCi3yThs
>>439
ハゲわろwww
0442login:Penguin2009/01/11(日) 21:24:18ID:S8R0EgJE
おーい、だれかマケプレで買って奴に送ってやってくれw
0443login:Penguin2009/01/11(日) 22:27:39ID:Tg6D2cfZ
何者?と思ってググって見たら

http://people.redhat.com/zaitcev/anime/sorezoreno1way.pdf

なんてものを見つけてしまった・・・

筋金入りだな。今年のKernel Summitには嬉々としてやってくるに違いない(w
0444login:Penguin2009/01/17(土) 02:52:19ID:PsPn1kn+
KernelどころかLinuxについてほとんど無知な俺に教えてくれないか

http://forums.steampowered.com/forums/showthread.php?t=486424
このサイトにはKernelによってCPU制御が250Hzになってる状況を1000Hzにする手順が説明されている ということでいいのかな
出来ればこの手順を簡潔にまとめてくれる神はいないだろうか お願いします生まれてきてごめんなさい
0445login:Penguin2009/01/17(土) 04:16:53ID:LUzqyZhm
>>444
俺も詳しいことはしらんよ。けどCONFIG_HZ=250ってのは1秒間に250回タイマ割り込みをする、という設定らしい。
つまり4msに一回タイマ割り込みを発生させる。

CPU制御というかタイマー割り込みね。
0446login:Penguin2009/01/17(土) 06:48:33ID:S+ngPFbA
>>444
それはOSの時計の精度を決める奴だよ。操作性とかにも影響する。
250Hzだと4ミリ秒単位、1000Hzだと1ミリ秒単位。

精度を上げすぎると負荷が上がったりハードウェアの制御で不具合が出るから
多くても1000Hzにしてある。

後、変更するにはカーネルの再構築が必要で、環境によってやり方が違うから自分で調べよう
0447login:Penguin2009/01/17(土) 08:22:14ID:MbjHFxeA
GEMってなにか設定いるの?
0448login:Penguin2009/01/17(土) 08:24:38ID:M1p6wg8l
>>447
いらない。
0449login:Penguin2009/01/17(土) 11:58:39ID:zS7kgnq/
いつになったら
PF_RINGって標準で使えるようになるの?
0450login:Penguin2009/01/17(土) 21:21:43ID:J13OQkWH
>>447
ちっとも速くなった気がせんわけだが
0451login:Penguin2009/01/17(土) 21:48:25ID:M1p6wg8l
>>450
945GM だけど速くなったよ。

Compiz Fusion の Expo や Desktop Wall プラグインと Wallpaper プラグインの
組み合わせ動作がキビキビになった。
0452login:Penguin2009/01/17(土) 23:46:39ID:aC/h0b1A
http://www.atmarkit.co.jp/flinux/rensai/watch2005/watch08a.html
ここにタイマ割り込みの事が書いてある。カーネル2.6.13-rc1から250Hzになったんだ。
それ以前はデフォルトが1000Hzだったとは知らなかった・・
0453login:Penguin2009/01/18(日) 00:17:58ID:Ny7bYr1J
カーネルコンフィグ時には昔からCONFIG_HZ=1000ってやちゃってたけど、ベつにRTカーネル仕様じゃ
ないし、リーナス氏も1000にして確実に良い事有るのかいってみろって言うくらいだから、今回
ちょっと250に戻してみるかw
0454login:Penguin2009/01/18(日) 00:30:20ID:0uG030Dj
1000から250にするメリットは消費電力だけで、他のどんな値でもない
250の理由が何かあるって事かな?
0455login:Penguin2009/01/18(日) 03:00:44ID:ClRnsqKI
無駄な割り込みが減少してスループットが向上する。

ただ、個人的にはHZはCLOCK_TICK_RATEの約数であるべきだと思う。
0456login:Penguin2009/01/18(日) 19:06:25ID:xhI1EKWK
CONFIG_HZの説明にマルチメディアやNTSCビデオなんかやる人は300がいいみたいな事が
xconfigの説明に書いてあったので1000から300へしてみました。

Linux上のアプリの動きは体感できないです。でもVmwareでゲストのXP使うときにWINUPDATEなどで
XPが激しくHDDにアクセスする時に今まではホストのLinuxがかなりもっさりしてたのですが、これが
無くなりました。
0457login:Penguin2009/01/20(火) 03:34:13ID:O8avWr3l
2.6.28.1: stable
01/19/2009 03:48 AM
http://www.kernel.org/kdist/fragments/stable.html
0458login:Penguin2009/01/24(土) 18:37:47ID:j3OrWlaN
linuxデスクトップユーザーの特徴

�@インストールしただけで選民思想
�Aやっていることはwindowsと同じ。しかもめんどくさくなっただけ。
�Bコマンド打ち込んでプロだと勘違い
�C黙ってwindowsでも使ってろと間口を狭める
�D素人がだのなんだのとwindowユーザーを馬鹿にする
�Eカーネルいじればいいだろと無茶を要求
�Flinux開発者とのずれを認識できていない
�Gwineを使うくせにlinuxを再現しようとする動きがあるとたたく

       冫─'  ~  ̄´^-、
     /          丶
    /             ノ、
   /  /ヽ丿彡彡彡彡彡ヽヽ
   |  丿           ミ
   | 彡 ____  ____  ミ/
   ゝ_//|    |⌒|    |ヽゞ
   |tゝ  \__/_  \__/ | |    __________
   ヽノ    /\_/\   |ノ  /
    ゝ   /ヽ───‐ヽ /  /  linuxはめんどくさくて難しい分だけ、
     /|ヽ   ヽ──'   / <  自称プロが悦に浸るためのツールとして最高なんじゃないだろうかwww
    / |  \    ̄  /   \
   / ヽ    ‐-            ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
0459login:Penguin2009/01/24(土) 18:38:34ID:7lr1RUyg
>>458
黙ってwindowsでも使ってろ
0460login:Penguin2009/01/24(土) 18:57:38ID:f4Jx4fnK
>linuxデスクトップユーザーの特徴
この1行だけで十分笑えたw

結局windowsでunix系のツールがないから
使うんだよね。
0461login:Penguin2009/01/25(日) 16:48:50ID:ZZ9FAEtv
kernel_sendmsgを使ってるとたまに送信途中で途切れてしまい、その後しばらく
連続してエラーを吐くようになってしまいます。
このときkernel_sendmsgの戻り値で-11が返ってきているのですが、-11が何を表して
いるかわかる方いらっしゃいませんか?

送信が途切れたら残りのバッファを再送するような処理を書いたのですが
うまく動かなくて・・・。
0462login:Penguin2009/01/25(日) 19:56:13ID:KzNWuG0E
>>461
include/asm-generic/errno-base.hを見たらこう書いてあったから、
#define EAGAIN 11 /* Try again */
再送しようとしているんじゃない?
0463login:Penguin2009/01/25(日) 21:59:51ID:ZZ9FAEtv
>>462
なるほど、そんなところに書いてあったんですね。
MSG_DONTWAITと設定していたためにEAGAIN(ソケットが非停止に設定されており、要求された操作が停止した。)と返ってきていたようです。
これを手がかりに頑張ってみます。
助かりました。ありがとうございます。
0464login:Penguin2009/01/30(金) 18:37:37ID:pFX4Hfia
Linux Kernel Watch 1月版
 スケジューラの挙動は三巨頭会談で決まるのだ?
http://www.atmarkit.co.jp/flinux/rensai/watch2009/watch01a.html
トピック満載の2.6.28リリース
まだまだあるぞ新機能
ついにLinuxにもadaptive lock導入か?!
-stableの進ちょくはお休み
0465login:Penguin2009/01/30(金) 18:57:15ID:qnrJLGzh
>>464
2ページ目に文章が重複しているところがあるね。
編集仕事しろ。
0466login:Penguin2009/01/30(金) 19:06:53ID:pFX4Hfia
"対象の便器を占有している香具師が、現在ちゃんと起きて力んでいる"のかを見るのがadaptive lockだよな?
別のロック待ちやI/O待ちで寝ている時もビジーウェイトなのか?
それとももじもじし始めてから中の人が寝た場合の話?
0467login:Penguin2009/01/30(金) 19:13:08ID:vTDTCFoG
ロック待ちとロック保有が同一コアで動いている場合はblockになるから性能が良くなるってことかな。
0468login:Penguin2009/02/01(日) 19:05:22ID:UNptCmpn
>>466
Solaris由来の「伝統的な」Adaptive lockは違う。あっちは、一定時間スピンして、だまなら寝る方式なので、
1分だけトイレの前でもじもじして、それ以上なら、きっと中の人は大のほうだろうと推測して、別の便所を探しに行く。

今回Linuxで議論されているのは、相手が寝ているかどうかを見ているので、別のロックやI/Oで寝ていたら一回も
スピンせずに即座にブロック。

便器にたとえると、対象のトイレの前に立つと、ESPで中の人が大か小かが分かってしまうので、
(スケジューラが教えてくれるので)、待った方が良いかどうかが誤りなく瞬時に判別できる。
ただし、世の中には小なのにやたら時間をかける変な人がいて、そういうときだけ判断を誤る。
■ このスレッドは過去ログ倉庫に格納されています