694 lines
30 KiB
Diff
694 lines
30 KiB
Diff
diff --git a/Documentation/ja_JP/HOWTO b/Documentation/ja_JP/HOWTO
|
||
index 9f08dab..d9d832c 100644
|
||
--- a/Documentation/ja_JP/HOWTO
|
||
+++ b/Documentation/ja_JP/HOWTO
|
||
@@ -1,4 +1,4 @@
|
||
-<2D>ソNOTE:
|
||
+NOTE:
|
||
This is a version of Documentation/HOWTO translated into Japanese.
|
||
This document is maintained by Tsugikazu Shibata <tshibata@ab.jp.nec.com>
|
||
and the JF Project team <www.linux.or.jp/JF>.
|
||
@@ -11,14 +11,14 @@ for non English (read: Japanese) speakers and is not intended as a
|
||
fork. So if you have any comments or updates for this file, please try
|
||
to update the original English file first.
|
||
|
||
-Last Updated: 2007/07/18
|
||
+Last Updated: 2007/09/23
|
||
==================================
|
||
縺薙l縺ッ縲<EFBDAF>
|
||
-linux-2.6.22/Documentation/HOWTO
|
||
+linux-2.6.23/Documentation/HOWTO
|
||
縺ョ蜥瑚ィウ縺ァ縺吶<E590B6>
|
||
|
||
鄙サ險ウ蝗」菴難シ<E99BA3> JF 繝励Ο繧ク繧ァ繧ッ繝<EFBDAF> < http://www.linux.or.jp/JF/ >
|
||
-鄙サ險ウ譌・<E8AD8C><EFBDA5> 2007/07/16
|
||
+鄙サ險ウ譌・<E8AD8C><EFBDA5> 2007/09/19
|
||
鄙サ險ウ閠<EFBDB3>シ<EFBFBD> Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
|
||
譬。豁」閠<EFBDA3>シ<EFBFBD> 譚セ蛟峨&繧<EFBC86> <nbh--mats at nifty dot com>
|
||
蟆乗棊 髮<><E9ABAE>縺輔s (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
|
||
@@ -27,6 +27,7 @@ linux-2.6.22/Documentation/HOWTO
|
||
驥主哨縺輔s (Kenji Noguchi) <tokyo246 at gmail dot com>
|
||
豐ウ蜀<EFBDB3>&繧<EFBC86> (Takayoshi Kochi) <t-kochi at bq dot jp dot nec dot com>
|
||
蟯ゥ譛ャ縺輔s (iwamoto) <iwamoto.kn at ncos dot nec dot co dot jp>
|
||
+ 蜀<>伐縺輔s (Satoshi Uchida) <s-uchida at ap dot jp dot nec dot com>
|
||
==================================
|
||
|
||
Linux 繧ォ繝シ繝阪Ν髢狗匱縺ョ繧<EFBDAE>j譁ケ
|
||
@@ -40,7 +41,7 @@ Linux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η繝九ユ繧」縺ィ蜈ア縺ォ豢サ蜍輔☆繧九d繧頑婿繧貞ュヲ縺
|
||
謇句勧縺代↓縺ェ繧翫∪縺吶<E590B6>
|
||
|
||
繧ゅ@縲√%縺ョ繝峨く繝・繝。繝ウ繝医<E7B99D>縺ゥ縺薙°縺悟商縺上↑縺」縺ヲ縺<EFBDA6>◆蝣エ蜷医↓縺ッ縲√%縺ョ繝峨く繝・繝。繝ウ
|
||
-繝医<E7B99D>譛蠕後↓繝ェ繧ケ繝医@縺溘Γ繝ウ繝<EFBDB3>リ繝シ縺ォ繝代ャ繝√r騾√▲縺ヲ縺上□縺輔>縲<EFBC9E>
|
||
+繝医<E7B99D>譛蠕後↓繝ェ繧ケ繝医@縺溘Γ繝ウ繝<EFBDB3>リ縺ォ繝代ャ繝√r騾√▲縺ヲ縺上□縺輔>縲<EFBC9E>
|
||
|
||
縺ッ縺倥a縺ォ
|
||
---------
|
||
@@ -59,7 +60,7 @@ Linux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η繝九ユ繧」縺ィ蜈ア縺ォ豢サ蜍輔☆繧九d繧頑婿繧貞ュヲ縺
|
||
繝阪Ν髢狗匱閠<E58CB1>↓縺ッ蠢<EFBDAF>ヲ√〒縺吶ゅい繝シ繧ュ繝<EFBDAD>け繝√Ε蜷代¢縺ョ菴弱Ξ繝吶Ν驛ィ蛻<EFBDA8><E89BBB>髢狗匱繧偵☆繧九<E7B9A7>
|
||
縺ァ縺ェ縺代l縺ー縲<EFBDB0>(縺ゥ繧薙↑繧「繝シ繧ュ繝<EFBDAD>け繝√Ε縺ァ繧<EFBDA7>)繧「繧サ繝ウ繝悶Μ(險ウ豕ィ: 險隱<C280>)縺ッ蠢<EFBDAF>ヲ√≠繧<E289A0>
|
||
縺セ縺帙s縲ゆサ・荳九<E88DB3>譛ャ縺ッ縲, 險隱槭<E99AB1>蜊∝<E89C8A>縺ェ遏・隴倥d菴募ケエ繧ゅ<E7B9A7>邨碁ィ薙↓蜿悶▲縺ヲ莉」繧上k繧ゅ<E7B9A7>
|
||
-縺ァ縺ッ縺ゅj縺セ縺帙s縺後∝ー代↑縺上→繧ゅΜ繝輔ぃ繝ャ繝ウ繧ケ縺ィ縺励※縺ッ縺<EFBDAF>>譛ャ縺ァ縺吶<E590B6>
|
||
+縺ァ縺ッ縺ゅj縺セ縺帙s縺後∝ー代↑縺上→繧ゅΜ繝輔ぃ繝ャ繝ウ繧ケ縺ィ縺励※縺ッ濶ッ縺<EFBDAF>悽縺ァ縺吶<E590B6>
|
||
- "The C Programming Language" by Kernighan and Ritchie [Prentice Hall]
|
||
-縲弱<E7B8B2>繝ュ繧ー繝ゥ繝溘Φ繧ー險隱橸シ」隨ャ2迚医<E58CBB>(B.W. 繧ォ繝シ繝九ワ繝ウ/D.M. 繝ェ繝<EFBDAA>メ繝シ闡<EFBDBC> 遏ウ逕ー譎エ荵<EFBDB4>ィウ) [蜈ア遶句<E981B6>迚<EFBFBD>
|
||
- "Practical C Programming" by Steve Oualline [O'Reilly]
|
||
@@ -76,7 +77,7 @@ Linux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η繝九ユ繧」縺ィ蜈ア縺ォ豢サ蜍輔☆繧九d繧頑婿繧貞ュヲ縺
|
||
縺ィ縺阪←縺阪√き繝シ繝阪Ν縺後ヤ繝シ繝ォ繝√ぉ繧、繝ウ繧<EFBDB3> C 險隱樊僑蠑オ縺ォ鄂ョ縺<EFBDAE>※縺<E280BB>k蜑肴署縺後←縺<E28690>
|
||
縺ェ縺」縺ヲ縺<EFBDA6>k縺ョ縺九o縺九j縺ォ縺上>縺薙→縺後≠繧翫√∪縺溘∵ョ句ソオ縺ェ縺薙→縺ォ豎コ螳夂噪縺ェ繝ェ繝輔ぃ
|
||
繝ャ繝ウ繧ケ縺ッ蟄伜惠縺励∪縺帙s縲よュ蝣ア繧貞セ励k縺ォ縺ッ縲“cc 縺ョ info 繝壹<E7B99D>繧ク( info gcc )繧<>
|
||
-縺ソ縺ヲ縺上□縺輔>縲<EFBC9E>
|
||
+隕九※縺上□縺輔>縲<EFBC9E>
|
||
|
||
縺ゅ↑縺溘<E7B8BA>譌「蟄倥<E89F84>髢狗匱繧ウ繝溘Η繝九ユ繧」縺ィ荳邱偵↓菴懈・ュ縺吶k譁ケ豕輔r蟄ヲ縺シ縺<EFBDBC>→縺励※縺<E280BB>k縺<EFBD8B>
|
||
縺ィ縺ォ逡呎э縺励※縺上□縺輔>縲ゅ◎縺ョ繧ウ繝溘Η繝九ユ繧」縺ッ縲√さ繝シ繝<EFBDBC>ぅ繝ウ繧ー縲√せ繧ソ繧、繝ォ縲<EFBDAB>
|
||
@@ -92,7 +93,7 @@ Linux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η繝九ユ繧」縺ィ蜈ア縺ォ豢サ蜍輔☆繧九d繧頑婿繧貞ュヲ縺
|
||
|
||
Linux 繧ォ繝シ繝阪Ν縺ョ繧ス繝シ繧ケ繧ウ繝シ繝峨<E7B99D> GPL 繝ゥ繧、繧サ繝ウ繧ケ縺ョ荳九〒繝ェ繝ェ繝シ繧ケ縺輔l縺ヲ縺<EFBDA6>∪
|
||
縺吶ゅΛ繧、繧サ繝ウ繧ケ縺ョ隧ウ邏ー縺ォ縺、縺<EFBDA4>※縺ッ縲√た繝シ繧ケ繝<EFBDB9>Μ繝シ縺ョ繝。繧、繝ウ繝<EFBDB3>ぅ繝ャ繧ッ繝医Μ縺ォ蟄伜惠
|
||
-縺吶k縲,OPYING 縺ョ繝輔ぃ繧、繝ォ繧偵∩縺ヲ縺上□縺輔>縲ゅb縺励Λ繧、繧サ繝ウ繧ケ縺ォ縺、縺<EFBDA4>※縺輔i縺ォ雉ェ
|
||
+縺吶k縲,OPYING 縺ョ繝輔ぃ繧、繝ォ繧定ヲ九※縺上□縺輔>縲ゅb縺励Λ繧、繧サ繝ウ繧ケ縺ォ縺、縺<EFBDA4>※縺輔i縺ォ雉ェ
|
||
蝠上′縺ゅl縺ー縲´inux Kernel 繝。繝シ繝ェ繝ウ繧ー繝ェ繧ケ繝医↓雉ェ蝠上☆繧九<E7B9A7>縺ァ縺ッ縺ェ縺上√←縺<E28690>◇
|
||
豕募セ句ョカ縺ォ逶ク隲<EFBDB8>@縺ヲ縺上□縺輔>縲ゅΓ繝シ繝ェ繝ウ繧ー繝ェ繧ケ繝医<E7B99D>莠コ驕斐<E9A995>豕募セ句ョカ縺ァ縺ッ縺ェ縺上∵ウ慕噪
|
||
蝠城。後↓縺、縺<EFBDA4>※縺ッ蠖シ繧峨<E7B9A7>螢ー譏弱<E8AD8F>縺ゅ※縺ォ縺吶k縺ケ縺阪〒縺ッ縺ゅj縺セ縺帙s縲<EFBD93>
|
||
@@ -109,7 +110,8 @@ Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ッ蟷<EFBDAF>コ<EFBFBD>>遽<EFBC9E>峇縺ョ繝峨く繝・繝。繝ウ繝医r蜷
|
||
譁ー縺励>繝峨く繝・繝。繝ウ繝医ヵ繧。繧、繝ォ繧りソス蜉<EFBDBD>縺吶k縺薙→繧貞匡繧√∪縺吶<E590B6>
|
||
繧ォ繝シ繝阪Ν縺ョ螟画峩縺後√き繝シ繝阪Ν縺後Θ繝シ繧カ遨コ髢薙↓蜈ャ髢九@縺ヲ縺<EFBDA6>k繧、繝ウ繧ソ繝シ繝輔ぉ繧、繧ケ縺ョ
|
||
螟画峩繧貞シ輔″襍キ縺薙☆蝣エ蜷医√◎縺ョ螟画峩繧定ェャ譏弱☆繧九<E7B9A7>繝九Η繧「繝ォ繝壹<E7B99D>繧ク縺ョ繝代ャ繝√d諠<EFBD84><E8ABA0>ア
|
||
-繧偵<E7B9A7>繝九Η繧「繝ォ繝壹<E7B99D>繧ク縺ョ繝。繝ウ繝<EFBDB3>リ mtk-manpages@gmx.net 縺ォ騾√k縺薙→繧貞匡繧√∪縺吶<E590B6>
|
||
+繧偵<E7B9A7>繝九Η繧「繝ォ繝壹<E7B99D>繧ク縺ョ繝。繝ウ繝<EFBDB3>リ mtk-manpages@gmx.net 縺ォ騾√k縺薙→繧貞匡繧√∪
|
||
+縺吶<E590B6>
|
||
|
||
莉・荳九<E88DB3>繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ォ蜷ォ縺セ繧後※縺<E280BB>k隱ュ繧薙〒縺翫¥縺ケ縺阪ヵ繧。繧、繝ォ縺ョ荳隕ァ縺ァ
|
||
縺<>-
|
||
@@ -117,7 +119,7 @@ Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ッ蟷<EFBDAF>コ<EFBFBD>>遽<EFBC9E>峇縺ョ繝峨く繝・繝。繝ウ繝医r蜷
|
||
README
|
||
縺薙<E7B8BA>繝輔ぃ繧、繝ォ縺ッ Linux繧ォ繝シ繝阪Ν縺ョ邁。蜊倥↑閭梧勹縺ィ繧ォ繝シ繝阪Ν繧定ィュ螳<EFBDAD>(險ウ豕ィ
|
||
configure )縺励∫函謌<E587BD>(險ウ豕ィ build )縺吶k縺溘a縺ォ蠢<EFBDAB>ヲ√↑縺薙→縺ッ菴輔°縺梧嶌縺九l
|
||
- 縺ヲ縺<EFBDA6>∪縺吶ゅき繝シ繝阪Ν縺ォ髢「縺励※蛻昴a縺ヲ縺ョ莠コ縺ッ縺薙%縺九i繧ケ繧ソ繝シ繝医☆繧九→繧医>縺ァ
|
||
+ 縺ヲ縺<EFBDA6>∪縺吶ゅき繝シ繝阪Ν縺ォ髢「縺励※蛻昴a縺ヲ縺ョ莠コ縺ッ縺薙%縺九i繧ケ繧ソ繝シ繝医☆繧九→濶ッ縺<EFBDAF>〒
|
||
縺励g縺<EFBD87><EFBFBD>
|
||
|
||
Documentation/Changes
|
||
@@ -128,7 +130,7 @@ Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ッ蟷<EFBDAF>コ<EFBFBD>>遽<EFBC9E>峇縺ョ繝峨く繝・繝。繝ウ繝医r蜷
|
||
Documentation/CodingStyle
|
||
縺薙l縺ッ Linux 繧ォ繝シ繝阪Ν縺ョ繧ウ繝シ繝<EFBDBC>ぅ繝ウ繧ー繧ケ繧ソ繧、繝ォ縺ィ閭梧勹縺ォ縺ゅk逅<EFBD8B>罰繧定ィ倩ソー
|
||
縺励※縺<E280BB>∪縺吶ょ<C280>縺ヲ縺ョ譁ー縺励>繧ウ繝シ繝峨<E7B99D>縺薙<E7B8BA>繝峨く繝・繝。繝ウ繝医↓縺ゅk繧ャ繧、繝峨Λ繧、繝ウ
|
||
- 縺ォ蠕薙▲縺ヲ縺<EFBDA6>k縺薙→繧呈悄蠕<E68284>&繧後※縺<E280BB>∪縺吶ょ、ァ驛ィ蛻<EFBDA8><E89BBB>繝。繝ウ繝<EFBDB3>リ繝シ縺ッ縺薙l繧峨<E7B9A7>繝ォ繝シ
|
||
+ 縺ォ蠕薙▲縺ヲ縺<EFBDA6>k縺薙→繧呈悄蠕<E68284>&繧後※縺<E280BB>∪縺吶ょ、ァ驛ィ蛻<EFBDA8><E89BBB>繝。繝ウ繝<EFBDB3>リ縺ッ縺薙l繧峨<E7B9A7>繝ォ繝シ
|
||
繝ォ縺ォ蠕薙▲縺ヲ縺<EFBDA6>k繧ゅ<E7B9A7>縺<EFBFBD>縺代r蜿励¢莉倥¢縲∝、壹¥縺ョ莠コ縺ッ豁」縺励>繧ケ繧ソ繧、繝ォ縺ョ繧ウ繝シ繝<EFBDBC>
|
||
縺<>縺代r繝ャ繝薙Η繝シ縺励∪縺吶<E590B6>
|
||
|
||
@@ -168,16 +170,16 @@ Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ッ蟷<EFBDAF>コ<EFBFBD>>遽<EFBC9E>峇縺ョ繝峨く繝・繝。繝ウ繝医r蜷
|
||
謾ッ謠エ縺励※縺上□縺輔>縲<EFBC9E>
|
||
|
||
Documentation/ManagementStyle
|
||
- 縺薙<E7B8BA>繝峨く繝・繝。繝ウ繝医<E7B99D> Linux 繧ォ繝シ繝阪Ν縺ョ繝。繝ウ繝<EFBDB3>リ繝シ驕斐′縺ゥ縺<EFBDA9>。悟虚縺吶k縺九<E4B99D>
|
||
+ 縺薙<E7B8BA>繝峨く繝・繝。繝ウ繝医<E7B99D> Linux 繧ォ繝シ繝阪Ν縺ョ繝。繝ウ繝<EFBDB3>リ驕斐′縺ゥ縺<EFBDA9>。悟虚縺吶k縺九<E4B99D>
|
||
蠖シ繧峨<E7B9A7>謇区ウ輔<EFBDB3>閭梧勹縺ォ縺ゅk蜈ア譛峨&繧後※縺<E280BB>k邊セ逾槭↓縺、縺<EFBDA4>※險倩ソー縺励※縺<E280BB>∪縺吶ゅ%
|
||
繧後<E7B9A7>繧ォ繝シ繝阪Ν髢狗匱縺ョ蛻晏ソ<E6998F><EFBFBD>↑繧会シ医b縺励¥縺ッ縲∝腰縺ォ闊亥袖縺後≠繧九□縺代<E7B8BA>莠コ縺ァ繧ゑシ<E38291>
|
||
- 驥崎ヲ√〒縺吶ゅ↑縺懊↑繧峨%縺ョ繝峨く繝・繝。繝ウ繝医<E7B99D>縲√き繝シ繝阪Ν繝。繝ウ繝<EFBDB3>リ繝シ驕斐<E9A995>迢ャ迚ケ縺ェ
|
||
+ 驥崎ヲ√〒縺吶ゅ↑縺懊↑繧峨%縺ョ繝峨く繝・繝。繝ウ繝医<E7B99D>縲√き繝シ繝阪Ν繝。繝ウ繝<EFBDB3>リ驕斐<E9A995>迢ャ迚ケ縺ェ
|
||
陦悟虚縺ォ縺、縺<EFBDA4>※縺ョ螟壹¥縺ョ隱、隗」繧<EFBDA3>キキ荵ア繧定ァ」豸医☆繧九°繧峨〒縺吶<E590B6>
|
||
|
||
Documentation/stable_kernel_rules.txt
|
||
縺薙<E7B8BA>繝輔ぃ繧、繝ォ縺ッ縺ゥ縺ョ繧医≧縺ォ stable 繧ォ繝シ繝阪Ν縺ョ繝ェ繝ェ繝シ繧ケ縺瑚。後o繧後k縺九<E7B8BA>繝ォ繝シ
|
||
繝ォ縺瑚ィ倩ソー縺輔l縺ヲ縺<EFBDA6>∪縺吶ゅ◎縺励※縺薙l繧峨<E7B9A7>繝ェ繝ェ繝シ繧ケ縺ョ荳ュ縺ョ縺ゥ縺薙°縺ァ螟画峩繧貞叙
|
||
- 繧雁<E7B9A7>繧後※繧ゅi縺<EFBD89>◆縺<E29786><E7B8BA>エ蜷医↓菴輔r縺吶l縺ー縺<EFBDB0>>縺九′遉コ縺輔l縺ヲ縺<EFBDA6>∪縺吶<E590B6>
|
||
+ 繧雁<E7B9A7>繧後※繧ゅi縺<EFBD89>◆縺<E29786><E7B8BA>エ蜷医↓菴輔r縺吶l縺ー濶ッ縺<EFBDAF>°縺檎、コ縺輔l縺ヲ縺<EFBDA6>∪縺吶<E590B6>
|
||
|
||
Documentation/kernel-docs.txt
|
||
縲縲繧ォ繝シ繝阪Ν髢狗匱縺ォ莉倬囂縺吶k螟夜Κ繝峨く繝・繝。繝ウ繝医<E7B99D>繝ェ繧ケ繝医〒縺吶ゅb縺励≠縺ェ縺溘′
|
||
@@ -218,9 +220,9 @@ web 繧オ繧、繝医↓縺ッ縲√さ繝シ繝峨<E7B99D>讒区<E8AE92>縲√し繝悶す繧ケ繝<EFBDB9>Β縲∫樟蝨ィ蟄伜惠縺吶
|
||
縺薙%縺ォ縺ッ縲√∪縺溘√き繝シ繝阪Ν縺ョ繧ウ繝ウ繝代う繝ォ縺ョ繧<EFBDAE>j譁ケ繧<EFBDB9>ヱ繝<E383B1>メ縺ョ蠖薙※譁ケ縺ェ縺ゥ縺ョ髢捺磁
|
||
逧<>↑蝓コ譛ャ諠<EFBDAC><E8ABA0>ア繧りィ倩ソー縺輔l縺ヲ縺<EFBDA6>∪縺吶<E590B6>
|
||
|
||
-縺ゅ↑縺溘′縺ゥ縺薙°繧峨せ繧ソ繝シ繝医@縺ヲ繧医>縺九o縺九i縺ェ縺<EFBDAA>′縲´inux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η
|
||
+縺ゅ↑縺溘′縺ゥ縺薙°繧峨せ繧ソ繝シ繝医@縺ヲ濶ッ縺<EFBDAF>°繧上°繧峨↑縺<E28691>′縲´inux 繧ォ繝シ繝阪Ν髢狗匱繧ウ繝溘Η
|
||
繝九ユ繧」縺ォ蜿ょ刈縺励※菴輔°縺吶k縺薙→繧偵&縺後@縺ヲ縺<EFBDA6>k蝣エ蜷医↓縺ッ縲´inux kernel
|
||
-Janitor's 繝励Ο繧ク繧ァ繧ッ繝医↓縺<E28693>¢縺ー繧医>縺ァ縺励g縺<EFBD87> -
|
||
+Janitor's 繝励Ο繧ク繧ァ繧ッ繝医↓縺<E28693>¢縺ー濶ッ縺<EFBDAF>〒縺励g縺<EFBD87> -
|
||
http://janitor.kernelnewbies.org/
|
||
縺薙%縺ッ縺昴<E7B8BA>繧医≧縺ェ繧ケ繧ソ繝シ繝医r縺吶k縺ョ縺ォ縺<EFBDAB>▲縺ヲ縺、縺代<E7B8BA>蝣エ謇縺ァ縺吶ゅ%縺薙↓縺ッ縲<EFBDAF>
|
||
Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ョ荳ュ縺ォ蜷ォ縺セ繧後k縲√″繧後>縺ォ縺励∽ソョ豁」縺励↑縺代l縺ー縺ェ
|
||
@@ -243,7 +245,7 @@ Linux 繧ォ繝シ繝阪Ν繧ス繝シ繧ケ繝<EFBDB9>Μ繝シ縺ョ荳ュ縺ォ蜷ォ縺セ繧後k縲√″繧後>縺ォ縺励∽ソ
|
||
閾ェ蟾ア蜿ら<E89CBF>譁ケ蠑上〒縲∫エ「蠑輔′縺、縺<EFBDA4>◆ web 蠖「蠑上〒縲√た繝シ繧ケ繧ウ繝シ繝峨r蜿ら<E89CBF>縺吶k縺薙→縺<E28692>
|
||
縺ァ縺阪∪縺吶ゅ%縺ョ譛譁ー縺ョ邏<EFBDAE>譎エ縺励>繧ォ繝シ繝阪Ν繧ウ繝シ繝峨<E7B99D>繝ェ繝昴ず繝医Μ縺ッ莉・荳九〒隕九▽縺九j
|
||
縺セ縺<EFBDBE>-
|
||
- http://sosdg.org/~coywolf/lxr/
|
||
+ http://sosdg.org/~qiyong/lxr/
|
||
|
||
髢狗匱繝励Ο繧サ繧ケ
|
||
-----------------------
|
||
@@ -265,9 +267,9 @@ Linux 繧ォ繝シ繝阪Ν縺ョ髢狗匱繝励Ο繧サ繧ケ縺ッ迴セ蝨ィ蟷セ縺、縺九<E7B8BA>逡ー縺ェ繧九Γ繧、繝ウ繧
|
||
莉・荳九<E88DB3>縺ィ縺翫j-
|
||
|
||
- 譁ー縺励>繧ォ繝シ繝阪Ν縺後Μ繝ェ繝シ繧ケ縺輔l縺溽峩蠕後↓縲<E28693>2騾ア髢薙<E9ABA2>迚ケ蛻・譛滄俣縺瑚ィュ縺代i繧後<E5BE8C>
|
||
- 縺薙<E7B8BA>譛滄俣荳ュ縺ォ縲√Γ繝ウ繝<EFBDB3>リ繝シ驕斐<E9A995> Linus 縺ォ螟ァ縺阪↑蟾ョ蛻<EFBDAE>r騾√k縺薙→縺後〒縺阪∪
|
||
- 縺吶ゅ%縺ョ繧医≧縺ェ蟾ョ蛻<EFBDAE><E89BBB>騾壼クク -mm 繧ォ繝シ繝阪Ν縺ォ謨ー騾ア髢灘性縺セ繧後※縺阪◆繝代ャ繝√〒
|
||
- 縺吶<E590B6> 螟ァ縺阪↑螟画峩縺ッ git(繧ォ繝シ繝阪Ν縺ョ繧ス繝シ繧ケ邂。逅<EFBDA1>ヤ繝シ繝ォ縲∬ゥウ邏ー縺ッ
|
||
+ 縺薙<E7B8BA>譛滄俣荳ュ縺ォ縲√Γ繝ウ繝<EFBDB3>リ驕斐<E9A995> Linus 縺ォ螟ァ縺阪↑蟾ョ蛻<EFBDAE>r騾√k縺薙→縺後〒縺阪∪縺吶<E590B6>
|
||
+ 縺薙<E7B8BA>繧医≧縺ェ蟾ョ蛻<EFBDAE><E89BBB>騾壼クク -mm 繧ォ繝シ繝阪Ν縺ォ謨ー騾ア髢灘性縺セ繧後※縺阪◆繝代ャ繝√〒縺吶<E590B6>
|
||
+ 螟ァ縺阪↑螟画峩縺ッ git(繧ォ繝シ繝阪Ν縺ョ繧ス繝シ繧ケ邂。逅<EFBDA1>ヤ繝シ繝ォ縲∬ゥウ邏ー縺ッ
|
||
http://git.or.cz/ 蜿ら<E89CBF>) 繧剃スソ縺」縺ヲ騾√k縺ョ縺悟・ス縺セ縺励>繧<EFBC9E>j譁ケ縺ァ縺吶′縲√ヱ繝<E383B1>
|
||
繝√ヵ繧。繧、繝ォ縺ョ蠖「蠑上<E8A091>縺セ縺セ騾√k縺ョ縺ァ繧ょ香蛻<E9A699>〒縺吶<E590B6>
|
||
|
||
@@ -285,6 +287,10 @@ Linux 繧ォ繝シ繝阪Ν縺ョ髢狗匱繝励Ο繧サ繧ケ縺ッ迴セ蝨ィ蟷セ縺、縺九<E7B8BA>逡ー縺ェ繧九Γ繧、繝ウ繧
|
||
縺ォ螳牙ョ壹@縺溽憾諷九↓縺ゅk縺ィ蛻、譁ュ縺励◆縺ィ縺阪↓繝ェ繝ェ繝シ繧ケ縺輔l縺セ縺吶ら岼讓吶<E8AE93>豈朱ア譁ー
|
||
縺励> -rc 繧ォ繝シ繝阪Ν繧偵Μ繝ェ繝シ繧ケ縺吶k縺薙→縺ァ縺吶<E590B6>
|
||
|
||
+ - 莉・荳九<E88DB3> URL 縺ァ蜷<EFBDA7> -rc 繝ェ繝ェ繝シ繧ケ縺ォ蟄伜惠縺吶k譌「遏・縺ョ蠕梧綾繧雁撫鬘後<E9AC98>繝ェ繧ケ繝<EFBDB9>
|
||
+ 縺瑚ソス霍。縺輔l縺セ縺<EFBDBE>-
|
||
+ http://kernelnewbies.org/known_regressions
|
||
+
|
||
- 縺薙<E7B8BA>繝励Ο繧サ繧ケ縺ッ繧ォ繝シ繝阪Ν縺<CE9D> 縲梧コ門y縺後〒縺阪◆縲阪→閠<E28692>∴繧峨l繧九∪縺ァ邯咏カ壹@縺セ
|
||
縺吶ゅ%縺ョ繝励Ο繧サ繧ケ縺ッ縺<EFBDAF>縺<EFBFBD>◆縺<E29786> 6騾ア髢鍋カ咏カ壹@縺セ縺吶<E590B6>
|
||
|
||
@@ -331,8 +337,8 @@ Andrew 縺ッ蛟句挨縺ョ繧オ繝悶す繧ケ繝<EFBDB9>Β繧ォ繝シ繝阪Ν繝<CE9D>Μ繝シ縺ィ繝代ャ繝√r蜈ィ縺ヲ<E7B8BA>
|
||
linux-kernel 繝。繝シ繝ェ繝ウ繧ー繝ェ繧ケ繝医〒蜿朱寔縺輔l縺溷、壽焚縺ョ繝代ャ繝√→蜷梧凾縺ォ荳縺、縺ォ縺セ
|
||
縺ィ繧√∪縺吶<E590B6>
|
||
縺薙<E7B8BA>繝<EFBFBD>Μ繝シ縺ッ譁ー讖溯<E8AE96>縺ィ繝代ャ繝√′讀懆ィシ縺輔l繧句<E7B9A7>エ縺ィ縺ェ繧翫∪縺吶ゅ≠繧区悄髢薙<E9ABA2>髢薙ヱ繝<E383B1>メ
|
||
-縺<> -mm 縺ォ蜈・縺」縺ヲ萓。蛟、繧定ィシ譏弱&繧後◆繧峨、ndrew 繧<>し繝悶す繧ケ繝<EFBDB9>Β繝。繝ウ繝<EFBDB3>リ縺後√Γ
|
||
-繧、繝ウ繝ゥ繧、繝ウ縺ク蜈・繧後k繧医≧縺ォ Linus 縺ォ繝励ャ繧キ繝・縺励∪縺吶<E590B6>
|
||
+縺<> -mm 縺ォ蜈・縺」縺ヲ萓。蛟、繧定ィシ譏弱&繧後◆繧峨、ndrew 繧<>し繝悶す繧ケ繝<EFBDB9>Β繝。繝ウ繝<EFBDB3>リ縺後<E5BE8C>
|
||
+繝。繧、繝ウ繝ゥ繧、繝ウ縺ク蜈・繧後k繧医≧縺ォ Linus 縺ォ繝励ャ繧キ繝・縺励∪縺吶<E590B6>
|
||
|
||
繝。繧、繝ウ繧ォ繝シ繝阪Ν繝<CE9D>Μ繝シ縺ォ蜷ォ繧√k縺溘a縺ォ Linus 縺ォ騾√k蜑阪↓縲√☆縺ケ縺ヲ縺ョ譁ー縺励>繝代ャ
|
||
繝√′ -mm 繝<>Μ繝シ縺ァ繝<EFBDA7>せ繝医&繧後k縺薙→縺悟シキ縺乗耳螂ィ縺輔l縺セ縺吶<E590B6>
|
||
@@ -460,7 +466,7 @@ MAINTAINERS 繝輔ぃ繧、繝ォ縺ォ繝ェ繧ケ繝医′縺ゅj縺セ縺吶<E7B8BA>縺ァ蜿ら<E89CBF>縺励※縺上□縺輔<E7B8BA>
|
||
縺帙s-
|
||
蠖シ繧峨<E7B9A7>縺ゅ↑縺溘<E7B8BA>繝代ャ繝√<E7B99D>陦梧ッ弱↓繧ウ繝。繝ウ繝医r蜈・繧後◆縺<E29786><E7B8BA>縺ァ縲√◎縺ョ縺溘a縺ォ縺ッ縺昴≧縺<E289A7>
|
||
繧九@縺九≠繧翫∪縺帙s縲ゅ≠縺ェ縺溘<E7B8BA>繝。繝シ繝ォ繝励Ο繧ー繝ゥ繝<EFBDA9>縺檎ゥコ逋ス繧<EFBDBD>ち繝悶r蝨ァ邵ョ縺励↑縺<E28691>h縺<EFBD88>
|
||
-縺ォ遒コ隱阪@縺滓婿縺後>縺<EFBC9E>〒縺吶よ怙蛻昴<E89BBB>濶ッ縺<EFBDAF>ユ繧ケ繝医→縺励※縺ッ縲∬<E7B8B2>蛻<EFBFBD>↓繝。繝シ繝ォ繧帝√▲縺ヲ
|
||
+縺ォ遒コ隱阪@縺滓婿縺瑚憶縺<E686B6>〒縺吶よ怙蛻昴<E89BBB>濶ッ縺<EFBDAF>ユ繧ケ繝医→縺励※縺ッ縲∬<E7B8B2>蛻<EFBFBD>↓繝。繝シ繝ォ繧帝√▲縺ヲ
|
||
縺ソ縺ヲ縲√◎縺ョ繝代ャ繝√r閾ェ蛻<EFBDAA>〒蠖薙※縺ヲ縺ソ繧九%縺ィ縺ァ縺吶ゅb縺励◎繧後′縺<E280B2>∪縺剰。後°縺ェ縺<EFBDAA>↑
|
||
繧峨√≠縺ェ縺溘<E7B8BA>繝。繝シ繝ォ繝励Ο繧ー繝ゥ繝<EFBDA9>繧堤峩縺励※繧ゅi縺<EFBD89>°縲∵ュ」縺励¥蜍輔¥繧医≧縺ォ螟峨∴繧九∋
|
||
縺阪〒縺吶<E590B6>
|
||
@@ -507,14 +513,14 @@ MAINTAINERS 繝輔ぃ繧、繝ォ縺ォ繝ェ繧ケ繝医′縺ゅj縺セ縺吶<E7B8BA>縺ァ蜿ら<E89CBF>縺励※縺上□縺輔<E7B8BA>
|
||
縺ィ繧よ勸騾壹<E9A8BE>縺薙→縺ァ縺吶ゅ%繧後<E7B9A7>縺ゅ↑縺溘<E7B8BA>繝代ャ繝√′蜿励¢蜈・繧後i繧後↑縺<E28691>→縺<E28692>≧縺薙→縺ァ
|
||
縺ッ *縺ゅj縺セ縺帙s*縲√◎縺励※縺ゅ↑縺溯<E7B8BA>霄ォ縺ォ蜿榊ッセ縺吶k縺薙→繧呈э蜻ウ縺吶k縺ョ縺ァ繧<EFBDA7> *縺ゅj縺セ
|
||
縺帙s*縲ょ腰縺ォ閾ェ蛻<EFBDAA><E89BBB>繝代ャ繝√↓蟇セ縺励※謖<E280BB>遭縺輔l縺溷撫鬘後r蜈ィ縺ヲ菫ョ豁」縺励※蜀埼√☆繧後<E7B9A7>
|
||
-縺<>>縺ョ縺ァ縺吶<E590B6>
|
||
+濶ッ縺<EFBDAF><E7B8BA>縺ァ縺吶<E590B6>
|
||
|
||
|
||
繧ォ繝シ繝阪Ν繧ウ繝溘Η繝九ユ繧」縺ィ莨∵・ュ邨<EFBDAD>ケ斐<EFBDB9>縺。縺後>
|
||
-----------------------------------------------------------------
|
||
|
||
繧ォ繝シ繝阪Ν繧ウ繝溘Η繝九ユ繧」縺ッ螟ァ驛ィ蛻<EFBDA8><E89BBB>莨晉オア逧<EFBDB1>↑莨夂、セ縺ョ髢狗匱迺ー蠅<EFBDB0>→縺ッ逡ー縺」縺溘d繧頑婿縺ァ
|
||
-蜍輔>縺ヲ縺<EFBDA6>∪縺吶ゆサ・荳九<E88DB3>蝠城。後r驕ソ縺代k縺溘a縺ォ縺ァ縺阪k縺ィ繧医>縺薙→縺ョ縺ョ繝ェ繧ケ繝医〒縺<E38092>-
|
||
+蜍輔>縺ヲ縺<EFBDA6>∪縺吶ゆサ・荳九<E88DB3>蝠城。後r驕ソ縺代k縺溘a縺ォ縺ァ縺阪k縺ィ濶ッ縺<EFBDAF>%縺ィ縺ョ繝ェ繧ケ繝医〒縺<E38092>-
|
||
|
||
縺ゅ↑縺溘<E7B8BA>謠先。医☆繧句、画峩縺ォ縺、縺<EFBDA4>※險縺<C280>→縺阪<E7B8BA>縺<EFBFBD>∪縺<E288AA>ィ縺<C280>婿<EFBFBD><E5A9BF>
|
||
|
||
@@ -525,7 +531,7 @@ MAINTAINERS 繝輔ぃ繧、繝ォ縺ォ繝ェ繧ケ繝医′縺ゅj縺セ縺吶<E7B8BA>縺ァ蜿ら<E89CBF>縺励※縺上□縺輔<E7B8BA>
|
||
- "莉・荳九<E88DB3>荳騾」縺ョ蟆上&縺ェ繝代ャ繝∫セ、縺ァ縺吶′..."
|
||
- "縺薙l縺ッ蜈ク蝙狗噪縺ェ繝槭す繝ウ縺ァ縺ョ諤ァ閭ス繧貞髄荳翫&縺帙∪縺<E288AA>.."
|
||
|
||
- 繧<>a縺滓婿縺後>縺<EFBC9E>が縺<E3818C>ィ縺<C280>婿<EFBFBD><E5A9BF>
|
||
+ 繧<>a縺滓婿縺瑚憶縺<E686B6>が縺<E3818C>ィ縺<C280>婿<EFBFBD><E5A9BF>
|
||
|
||
- 縺薙<E7B8BA>繧<EFBFBD>j譁ケ縺ァ AIX/ptx/Solaris 縺ァ縺ッ縺ァ縺阪◆縺ョ縺ァ縲√〒縺阪k縺ッ縺壹□
|
||
- 遘√<E98198>縺薙l繧<EFBD8C>20蟷エ繧ゅ<E7B9A7>髢薙d縺」縺ヲ縺阪◆縲√□縺九i
|
||
@@ -575,10 +581,10 @@ Linux 繧ォ繝シ繝阪Ν繧ウ繝溘Η繝九ユ繧」縺ッ縲∽ク蠎ヲ縺ォ螟ァ驥上<E9A9A5>繧ウ繝シ繝峨<E7B99D>蝪翫r蝟
|
||
|
||
1) 蟆上&縺<EFBC86>ヱ繝<E383B1>メ縺ッ縺ゅ↑縺溘<E7B8BA>繝代ャ繝√′驕ゥ逕ィ縺輔l繧玖ヲ玖セシ縺ソ繧貞、ァ縺阪¥縺励∪縺吶√き繝シ
|
||
繝阪Ν縺ョ莠コ驕斐<E9A995>繝代ャ繝√′豁」縺励>縺九←縺<E28690>°繧堤「コ隱阪☆繧区凾髢薙d蜉エ蜉帙r縺九¢縺ェ縺<EFBDAA>°
|
||
- 繧峨〒縺吶<E590B6>5陦後<E999A6>繝代ャ繝√<E7B99D>繝。繝ウ繝<EFBDB3>リ縺後◆縺」縺<EFBDA3>1遘定ヲ九k縺<EFBD8B>縺代〒驕ゥ逕ィ縺ァ縺阪∪縺吶ゅ@
|
||
- 縺九@縲<EFBCA0>500陦後<E999A6>繝代ャ繝√<E7B99D>縲∵ュ」縺励>縺薙→繧偵Ξ繝薙Η繝シ縺吶k縺ョ縺ォ謨ー譎る俣縺九°繧九°繧<C2B0>
|
||
- 縺励l縺セ縺帙s(譎る俣縺ッ繝代ャ繝√<E7B99D>繧オ繧、繧コ縺ェ縺ゥ縺ォ繧医j謖<EFBD8A>焚髢「謨ー縺ォ豈比セ九@縺ヲ縺九°繧翫∪
|
||
- 縺<>)
|
||
+ 繧峨〒縺吶<E590B6>5陦後<E999A6>繝代ャ繝√<E7B99D>繝。繝ウ繝<EFBDB3>リ縺後◆縺」縺<EFBDA3>1遘定ヲ九k縺<EFBD8B>縺代〒驕ゥ逕ィ縺ァ縺阪∪縺吶<E590B6>
|
||
+ 縺励°縺励<E58AB1>500陦後<E999A6>繝代ャ繝√<E7B99D>縲∵ュ」縺励>縺薙→繧偵Ξ繝薙Η繝シ縺吶k縺ョ縺ォ謨ー譎る俣縺九°繧九°
|
||
+ 繧ゅ@繧後∪縺帙s(譎る俣縺ッ繝代ャ繝√<E7B99D>繧オ繧、繧コ縺ェ縺ゥ縺ォ繧医j謖<EFBD8A>焚髢「謨ー縺ォ豈比セ九@縺ヲ縺九°繧<C2B0>
|
||
+ 縺セ縺<EFBDBE>)
|
||
|
||
蟆上&縺<EFBC86>ヱ繝<E383B1>メ縺ッ菴輔°縺ゅ▲縺溘→縺阪↓繝<E28693>ヰ繝<E383B0>げ繧ゅ→縺ヲ繧らー。蜊倥↓縺ェ繧翫∪縺吶ゅヱ繝<E383B1>
|
||
繝√r1蛟<31>1蛟句叙繧企勁縺上<E7B8BA>縺ッ縲√→縺ヲ繧ょ、ァ縺阪↑繝代ャ繝√r蠖薙※縺溷セ後↓(縺九▽縲∽ス輔°縺<C2B0>
|
||
@@ -587,23 +593,23 @@ Linux 繧ォ繝シ繝阪Ν繧ウ繝溘Η繝九ユ繧」縺ッ縲∽ク蠎ヲ縺ォ螟ァ驥上<E9A9A5>繧ウ繝シ繝峨<E7B99D>蝪翫r蝟
|
||
2) 蟆上&縺<EFBC86>ヱ繝<E383B1>メ繧帝√k縺<EFBD8B>縺代〒縺ェ縺上<E4B88A>√k縺セ縺医↓縲∵嶌縺咲峩縺励※縲√す繝ウ繝励Ν縺ォ縺<EFBDAB>
|
||
繧<>(繧ゅ@縺上<E7B8BA>縲∝腰縺ォ鬆<EFBDAB>分繧貞、峨∴繧九□縺代〒繧<E38092>)縺薙→繧ゅ√→縺ヲ繧る㍾隕√〒縺吶<E590B6>
|
||
|
||
-莉・荳九<E88DB3>繧ォ繝シ繝阪Ν髢狗匱閠<E58CB1><E996A0> Al Viro 縺ョ縺溘→縺郁ゥア縺励〒縺呻シ<E591BB>
|
||
+莉・荳九<E88DB3>繧ォ繝シ繝阪Ν髢狗匱閠<E58CB1><E996A0> Al Viro 縺ョ縺溘→縺郁ゥア縺ァ縺呻シ<E591BB>
|
||
|
||
"逕溷セ偵<EFBDBE>謨ー蟄ヲ縺ョ螳ソ鬘後r謗。轤ケ縺吶k蜈育函縺ョ縺薙→繧定<E5AE9A>∴縺ヲ縺ソ縺ヲ縺上□縺輔>縲∝<E7B8B2>
|
||
- 逕溘<E98095>逕溷セ偵′隗」縺ォ蛻ー驕斐☆繧九∪縺ァ縺ョ隧ヲ陦碁険隱、繧偵∩縺溘>縺ィ縺ッ諤昴o縺ェ縺<EFBDAA>〒縺励g
|
||
- 縺<>ょ<C280>逕溘<E98095>邁。貎斐↑譛鬮倥<E9ACAE>隗」繧偵∩縺溘>縺ョ縺ァ縺吶り憶縺<E686B6>函蠕偵<E8A095>縺薙l繧堤衍縺」縺ヲ
|
||
+ 逕溘<E98095>逕溷セ偵′隗」縺ォ蛻ー驕斐☆繧九∪縺ァ縺ョ隧ヲ陦碁険隱、繧定ヲ九◆縺<E29786>→縺ッ諤昴o縺ェ縺<EFBDAA>〒縺励g
|
||
+ 縺<>ょ<C280>逕溘<E98095>邁。貎斐↑譛鬮倥<E9ACAE>隗」繧定ヲ九◆縺<E29786><E7B8BA>縺ァ縺吶り憶縺<E686B6>函蠕偵<E8A095>縺薙l繧堤衍縺」縺ヲ
|
||
縺翫j縲√◎縺励※譛邨りァ」縺ョ蜑阪<E89C91>荳ュ髢謎ス懈・ュ繧呈署蜃コ縺吶k縺薙→縺ッ豎コ縺励※縺ェ縺<EFBDAA><E7B8BA>縺ァ
|
||
縺<>"
|
||
|
||
- 繧ォ繝シ繝阪Ν髢狗匱縺ァ繧ゅ%繧後<E7B9A7>蜷後§縺ァ縺吶ゅΓ繝ウ繝<EFBDB3>リ繝シ驕斐→繝ャ繝薙Η繝シ繧「驕斐<E9A995>縲<EFBFBD>
|
||
- 蝠城。後r隗」豎コ縺吶k隗」縺ョ閭悟セ後↓縺ェ繧区晁<E69981><C280>繝ュ繧サ繧ケ繧偵∩縺溘>縺ィ縺ッ諤昴>縺セ縺帙s縲<EFBD93>
|
||
- 蠖シ繧峨<E7B9A7>蜊倡エ斐〒縺ゅ*繧<EFBC8A>°縺ェ隗」豎コ譁ケ豕輔r縺ソ縺溘>縺ョ縺ァ縺吶<E590B6>
|
||
+ 繧ォ繝シ繝阪Ν髢狗匱縺ァ繧ゅ%繧後<E7B9A7>蜷後§縺ァ縺吶ゅΓ繝ウ繝<EFBDB3>リ驕斐→繝ャ繝薙Η繝シ繧「驕斐<E9A995>縲<EFBFBD>
|
||
+ 蝠城。後r隗」豎コ縺吶k隗」縺ョ閭悟セ後↓縺ェ繧区晁<E69981><C280>繝ュ繧サ繧ケ繧定ヲ九◆縺<E29786>→縺ッ諤昴>縺セ縺帙s縲<EFBD93>
|
||
+ 蠖シ繧峨<E7B9A7>蜊倡エ斐〒縺ゅ*繧<EFBC8A>°縺ェ隗」豎コ譁ケ豕輔r隕九◆縺<E29786><E7B8BA>縺ァ縺吶<E590B6>
|
||
|
||
縺ゅ*繧<EFBC8A>°縺ェ隗」繧定ェャ譏弱☆繧九<E7B9A7>縺ィ縲√さ繝溘Η繝九ユ繧」縺ィ蜈ア縺ォ莉穂コ九r縺励∵悴隗」豎コ縺ョ莉穂コ九r
|
||
隴ー隲悶☆繧九%縺ィ縺ョ繝舌Λ繝ウ繧ケ繧偵く繝シ繝励☆繧九<E7B9A7>縺ッ髮」縺励>縺九b縺励l縺セ縺帙s縲<EFBD93>
|
||
縺ァ縺吶°繧峨<E5B3A8>幕逋コ繝励Ο繧サ繧ケ縺ョ譌ゥ譛滓ョオ髫弱〒謾ケ蝟<EFBDB9><E89D9F>縺溘a縺ョ繝輔ぅ繝シ繝峨ヰ繝<E383B0>け繧偵b繧峨≧繧<E289A7>
|
||
-縺<>↓縺吶k縺ョ繧ゅ>縺<EFBC9E>〒縺吶′縲∝、画峩轤ケ繧貞ー上&縺<EFBC86>Κ蛻<CE9A>↓蛻<E28693>牡縺励※蜈ィ菴薙〒縺ッ縺セ縺<EFBDBE>螳梧<E89EB3>縺<EFBFBD>
|
||
-縺ヲ縺<EFBDA6>↑縺<E28691>サ穂コ九r(驛ィ蛻<EFBDA8>噪縺ォ)蜿悶j霎シ繧薙〒繧ゅi縺医k繧医≧縺ォ縺吶k縺薙→繧ゅ>縺<EFBC9E>%縺ィ縺ァ縺吶<E590B6>
|
||
+縺<>↓縺吶k縺ョ繧り憶縺<E686B6>〒縺吶′縲∝、画峩轤ケ繧貞ー上&縺<EFBC86>Κ蛻<CE9A>↓蛻<E28693>牡縺励※蜈ィ菴薙〒縺ッ縺セ縺<EFBDBE>螳梧<E89EB3>縺<EFBFBD>
|
||
+縺ヲ縺<EFBDA6>↑縺<E28691>サ穂コ九r(驛ィ蛻<EFBDA8>噪縺ォ)蜿悶j霎シ繧薙〒繧ゅi縺医k繧医≧縺ォ縺吶k縺薙→繧り憶縺<E686B6>%縺ィ縺ァ縺吶<E590B6>
|
||
|
||
縺セ縺溘√〒縺堺ク翫′縺」縺ヲ縺<EFBDA6>↑縺<E28691>b縺ョ繧<EFBDAE><EFBFBD>"蟆<>擂逶エ縺<EFBDB4>" 繧医≧縺ェ繝代ャ繝√r縲∵悽豬√↓蜷ォ繧<EFBDAB>
|
||
縺ヲ繧ゅi縺<EFBD89>h縺<EFBD88>↓騾√▲縺ヲ繧ゅ√◎繧後<E7B9A7>蜿励¢莉倥¢繧峨l縺ェ縺<EFBDAA>%縺ィ繧堤炊隗」縺励※縺上□縺輔>縲<EFBC9E>
|
||
@@ -629,7 +635,7 @@ Linux 繧ォ繝シ繝阪Ν繧ウ繝溘Η繝九ユ繧」縺ッ縲∽ク蠎ヲ縺ォ螟ァ驥上<E9A9A5>繧ウ繝シ繝峨<E7B99D>蝪翫r蝟
|
||
- 繝<>せ繝育オ先棡
|
||
|
||
縺薙l縺ォ縺、縺<EFBDA4>※蜈ィ縺ヲ縺後←縺ョ繧医≧縺ォ縺ゅk縺ケ縺阪°縺ォ縺、縺<EFBDA4>※縺ョ隧ウ邏ー縺ッ縲∽サ・荳九<E88DB3>繝峨く繝・繝。
|
||
-繝ウ繝医<E7B99D> ChangeLog 繧サ繧ッ繧キ繝ァ繝ウ繧偵∩縺ヲ縺上□縺輔>-
|
||
+繝ウ繝医<E7B99D> ChangeLog 繧サ繧ッ繧キ繝ァ繝ウ繧定ヲ九※縺上□縺輔>-
|
||
"The Perfect Patch"
|
||
http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt
|
||
|
||
diff --git a/Makefile b/Makefile
|
||
index c244a02..c6d545c 100644
|
||
diff --git a/block/ll_rw_blk.c b/block/ll_rw_blk.c
|
||
index ed39313..026cf24 100644
|
||
--- a/block/ll_rw_blk.c
|
||
+++ b/block/ll_rw_blk.c
|
||
@@ -819,7 +819,6 @@ static int __blk_free_tags(struct blk_queue_tag *bqt)
|
||
retval = atomic_dec_and_test(&bqt->refcnt);
|
||
if (retval) {
|
||
BUG_ON(bqt->busy);
|
||
- BUG_ON(!list_empty(&bqt->busy_list));
|
||
|
||
kfree(bqt->tag_index);
|
||
bqt->tag_index = NULL;
|
||
@@ -931,7 +930,6 @@ static struct blk_queue_tag *__blk_queue_init_tags(struct request_queue *q,
|
||
if (init_tag_map(q, tags, depth))
|
||
goto fail;
|
||
|
||
- INIT_LIST_HEAD(&tags->busy_list);
|
||
tags->busy = 0;
|
||
atomic_set(&tags->refcnt, 1);
|
||
return tags;
|
||
@@ -982,6 +980,7 @@ int blk_queue_init_tags(struct request_queue *q, int depth,
|
||
*/
|
||
q->queue_tags = tags;
|
||
q->queue_flags |= (1 << QUEUE_FLAG_QUEUED);
|
||
+ INIT_LIST_HEAD(&q->tag_busy_list);
|
||
return 0;
|
||
fail:
|
||
kfree(tags);
|
||
@@ -1152,7 +1151,7 @@ int blk_queue_start_tag(struct request_queue *q, struct request *rq)
|
||
rq->tag = tag;
|
||
bqt->tag_index[tag] = rq;
|
||
blkdev_dequeue_request(rq);
|
||
- list_add(&rq->queuelist, &bqt->busy_list);
|
||
+ list_add(&rq->queuelist, &q->tag_busy_list);
|
||
bqt->busy++;
|
||
return 0;
|
||
}
|
||
@@ -1173,11 +1172,10 @@ EXPORT_SYMBOL(blk_queue_start_tag);
|
||
**/
|
||
void blk_queue_invalidate_tags(struct request_queue *q)
|
||
{
|
||
- struct blk_queue_tag *bqt = q->queue_tags;
|
||
struct list_head *tmp, *n;
|
||
struct request *rq;
|
||
|
||
- list_for_each_safe(tmp, n, &bqt->busy_list) {
|
||
+ list_for_each_safe(tmp, n, &q->tag_busy_list) {
|
||
rq = list_entry_rq(tmp);
|
||
|
||
if (rq->tag == -1) {
|
||
diff --git a/fs/locks.c b/fs/locks.c
|
||
index c795eaa..494f250 100644
|
||
--- a/fs/locks.c
|
||
+++ b/fs/locks.c
|
||
@@ -694,11 +694,20 @@ EXPORT_SYMBOL(posix_test_lock);
|
||
* Note: the above assumption may not be true when handling lock requests
|
||
* from a broken NFS client. But broken NFS clients have a lot more to
|
||
* worry about than proper deadlock detection anyway... --okir
|
||
+ *
|
||
+ * However, the failure of this assumption (also possible in the case of
|
||
+ * multiple tasks sharing the same open file table) also means there's no
|
||
+ * guarantee that the loop below will terminate. As a hack, we give up
|
||
+ * after a few iterations.
|
||
*/
|
||
+
|
||
+#define MAX_DEADLK_ITERATIONS 10
|
||
+
|
||
static int posix_locks_deadlock(struct file_lock *caller_fl,
|
||
struct file_lock *block_fl)
|
||
{
|
||
struct list_head *tmp;
|
||
+ int i = 0;
|
||
|
||
next_task:
|
||
if (posix_same_owner(caller_fl, block_fl))
|
||
@@ -706,6 +715,8 @@ next_task:
|
||
list_for_each(tmp, &blocked_list) {
|
||
struct file_lock *fl = list_entry(tmp, struct file_lock, fl_link);
|
||
if (posix_same_owner(fl, block_fl)) {
|
||
+ if (i++ > MAX_DEADLK_ITERATIONS)
|
||
+ return 0;
|
||
fl = fl->fl_next;
|
||
block_fl = fl;
|
||
goto next_task;
|
||
diff --git a/fs/proc/array.c b/fs/proc/array.c
|
||
index ee4814d..20d7ae4 100644
|
||
--- a/fs/proc/array.c
|
||
+++ b/fs/proc/array.c
|
||
@@ -351,7 +351,8 @@ static cputime_t task_utime(struct task_struct *p)
|
||
}
|
||
utime = (clock_t)temp;
|
||
|
||
- return clock_t_to_cputime(utime);
|
||
+ p->prev_utime = max(p->prev_utime, clock_t_to_cputime(utime));
|
||
+ return p->prev_utime;
|
||
}
|
||
|
||
static cputime_t task_stime(struct task_struct *p)
|
||
@@ -366,7 +367,8 @@ static cputime_t task_stime(struct task_struct *p)
|
||
stime = nsec_to_clock_t(p->se.sum_exec_runtime) -
|
||
cputime_to_clock_t(task_utime(p));
|
||
|
||
- return clock_t_to_cputime(stime);
|
||
+ p->prev_stime = max(p->prev_stime, clock_t_to_cputime(stime));
|
||
+ return p->prev_stime;
|
||
}
|
||
#endif
|
||
|
||
diff --git a/fs/splice.c b/fs/splice.c
|
||
index e95a362..02c39ae 100644
|
||
--- a/fs/splice.c
|
||
+++ b/fs/splice.c
|
||
@@ -1390,10 +1390,10 @@ static int pipe_to_user(struct pipe_inode_info *pipe, struct pipe_buffer *buf,
|
||
if (copy_to_user(sd->u.userptr, src + buf->offset, sd->len))
|
||
ret = -EFAULT;
|
||
|
||
+ buf->ops->unmap(pipe, buf, src);
|
||
out:
|
||
if (ret > 0)
|
||
sd->u.userptr += ret;
|
||
- buf->ops->unmap(pipe, buf, src);
|
||
return ret;
|
||
}
|
||
|
||
diff --git a/include/linux/blkdev.h b/include/linux/blkdev.h
|
||
index b126c6f..d26bbb0 100644
|
||
--- a/include/linux/blkdev.h
|
||
+++ b/include/linux/blkdev.h
|
||
@@ -356,7 +356,6 @@ enum blk_queue_state {
|
||
struct blk_queue_tag {
|
||
struct request **tag_index; /* map of busy tags */
|
||
unsigned long *tag_map; /* bit map of free/busy tags */
|
||
- struct list_head busy_list; /* fifo list of busy tags */
|
||
int busy; /* current depth */
|
||
int max_depth; /* what we will send to device */
|
||
int real_max_depth; /* what the array can hold */
|
||
@@ -451,6 +450,7 @@ struct request_queue
|
||
unsigned int dma_alignment;
|
||
|
||
struct blk_queue_tag *queue_tags;
|
||
+ struct list_head tag_busy_list;
|
||
|
||
unsigned int nr_sorted;
|
||
unsigned int in_flight;
|
||
diff --git a/include/linux/sched.h b/include/linux/sched.h
|
||
index 313c6b6..f509fbd 100644
|
||
--- a/include/linux/sched.h
|
||
+++ b/include/linux/sched.h
|
||
@@ -1022,6 +1022,7 @@ struct task_struct {
|
||
|
||
unsigned int rt_priority;
|
||
cputime_t utime, stime;
|
||
+ cputime_t prev_utime, prev_stime;
|
||
unsigned long nvcsw, nivcsw; /* context switch counts */
|
||
struct timespec start_time; /* monotonic time */
|
||
struct timespec real_start_time; /* boot based time */
|
||
diff --git a/kernel/fork.c b/kernel/fork.c
|
||
index 33f12f4..f299d45 100644
|
||
--- a/kernel/fork.c
|
||
+++ b/kernel/fork.c
|
||
@@ -1045,6 +1045,8 @@ static struct task_struct *copy_process(unsigned long clone_flags,
|
||
|
||
p->utime = cputime_zero;
|
||
p->stime = cputime_zero;
|
||
+ p->prev_utime = cputime_zero;
|
||
+ p->prev_stime = cputime_zero;
|
||
|
||
#ifdef CONFIG_TASK_XACCT
|
||
p->rchar = 0; /* I/O counter: bytes read */
|
||
diff --git a/kernel/futex_compat.c b/kernel/futex_compat.c
|
||
index 2c2e295..f938c23 100644
|
||
--- a/kernel/futex_compat.c
|
||
+++ b/kernel/futex_compat.c
|
||
@@ -29,6 +29,15 @@ fetch_robust_entry(compat_uptr_t *uentry, struct robust_list __user **entry,
|
||
return 0;
|
||
}
|
||
|
||
+static void __user *futex_uaddr(struct robust_list *entry,
|
||
+ compat_long_t futex_offset)
|
||
+{
|
||
+ compat_uptr_t base = ptr_to_compat(entry);
|
||
+ void __user *uaddr = compat_ptr(base + futex_offset);
|
||
+
|
||
+ return uaddr;
|
||
+}
|
||
+
|
||
/*
|
||
* Walk curr->robust_list (very carefully, it's a userspace list!)
|
||
* and mark any locks found there dead, and notify any waiters.
|
||
@@ -75,11 +84,13 @@ void compat_exit_robust_list(struct task_struct *curr)
|
||
* A pending lock might already be on the list, so
|
||
* dont process it twice:
|
||
*/
|
||
- if (entry != pending)
|
||
- if (handle_futex_death((void __user *)entry + futex_offset,
|
||
- curr, pi))
|
||
- return;
|
||
+ if (entry != pending) {
|
||
+ void __user *uaddr = futex_uaddr(entry,
|
||
+ futex_offset);
|
||
|
||
+ if (handle_futex_death(uaddr, curr, pi))
|
||
+ return;
|
||
+ }
|
||
if (rc)
|
||
return;
|
||
uentry = next_uentry;
|
||
@@ -93,9 +104,11 @@ void compat_exit_robust_list(struct task_struct *curr)
|
||
|
||
cond_resched();
|
||
}
|
||
- if (pending)
|
||
- handle_futex_death((void __user *)pending + futex_offset,
|
||
- curr, pip);
|
||
+ if (pending) {
|
||
+ void __user *uaddr = futex_uaddr(pending, futex_offset);
|
||
+
|
||
+ handle_futex_death(uaddr, curr, pip);
|
||
+ }
|
||
}
|
||
|
||
asmlinkage long
|
||
diff --git a/kernel/lockdep.c b/kernel/lockdep.c
|
||
index 734da57..42ae4a5 100644
|
||
--- a/kernel/lockdep.c
|
||
+++ b/kernel/lockdep.c
|
||
@@ -1521,7 +1521,7 @@ cache_hit:
|
||
}
|
||
|
||
static int validate_chain(struct task_struct *curr, struct lockdep_map *lock,
|
||
- struct held_lock *hlock, int chain_head)
|
||
+ struct held_lock *hlock, int chain_head, u64 chain_key)
|
||
{
|
||
/*
|
||
* Trylock needs to maintain the stack of held locks, but it
|
||
@@ -1534,7 +1534,7 @@ static int validate_chain(struct task_struct *curr, struct lockdep_map *lock,
|
||
* graph_lock for us)
|
||
*/
|
||
if (!hlock->trylock && (hlock->check == 2) &&
|
||
- lookup_chain_cache(curr->curr_chain_key, hlock->class)) {
|
||
+ lookup_chain_cache(chain_key, hlock->class)) {
|
||
/*
|
||
* Check whether last held lock:
|
||
*
|
||
@@ -1576,7 +1576,7 @@ static int validate_chain(struct task_struct *curr, struct lockdep_map *lock,
|
||
#else
|
||
static inline int validate_chain(struct task_struct *curr,
|
||
struct lockdep_map *lock, struct held_lock *hlock,
|
||
- int chain_head)
|
||
+ int chain_head, u64 chain_key)
|
||
{
|
||
return 1;
|
||
}
|
||
@@ -2450,11 +2450,11 @@ static int __lock_acquire(struct lockdep_map *lock, unsigned int subclass,
|
||
chain_head = 1;
|
||
}
|
||
chain_key = iterate_chain_key(chain_key, id);
|
||
- curr->curr_chain_key = chain_key;
|
||
|
||
- if (!validate_chain(curr, lock, hlock, chain_head))
|
||
+ if (!validate_chain(curr, lock, hlock, chain_head, chain_key))
|
||
return 0;
|
||
|
||
+ curr->curr_chain_key = chain_key;
|
||
curr->lockdep_depth++;
|
||
check_chain_key(curr);
|
||
#ifdef CONFIG_DEBUG_LOCKDEP
|
||
diff --git a/kernel/params.c b/kernel/params.c
|
||
index 4e57732..5e5651f 100644
|
||
--- a/kernel/params.c
|
||
+++ b/kernel/params.c
|
||
@@ -595,13 +595,16 @@ static void __init param_sysfs_builtin(void)
|
||
|
||
for (i=0; i < __stop___param - __start___param; i++) {
|
||
char *dot;
|
||
+ size_t max_name_len;
|
||
|
||
kp = &__start___param[i];
|
||
+ max_name_len =
|
||
+ min_t(size_t, MAX_KBUILD_MODNAME, strlen(kp->name));
|
||
|
||
- /* We do not handle args without periods. */
|
||
- dot = memchr(kp->name, '.', MAX_KBUILD_MODNAME);
|
||
+ dot = memchr(kp->name, '.', max_name_len);
|
||
if (!dot) {
|
||
- DEBUGP("couldn't find period in %s\n", kp->name);
|
||
+ DEBUGP("couldn't find period in first %d characters "
|
||
+ "of %s\n", MAX_KBUILD_MODNAME, kp->name);
|
||
continue;
|
||
}
|
||
name_len = dot - kp->name;
|
||
diff --git a/kernel/softlockup.c b/kernel/softlockup.c
|
||
index 708d488..e557c44 100644
|
||
--- a/kernel/softlockup.c
|
||
+++ b/kernel/softlockup.c
|
||
@@ -80,10 +80,11 @@ void softlockup_tick(void)
|
||
print_timestamp = per_cpu(print_timestamp, this_cpu);
|
||
|
||
/* report at most once a second */
|
||
- if (print_timestamp < (touch_timestamp + 1) ||
|
||
- did_panic ||
|
||
- !per_cpu(watchdog_task, this_cpu))
|
||
+ if ((print_timestamp >= touch_timestamp &&
|
||
+ print_timestamp < (touch_timestamp + 1)) ||
|
||
+ did_panic || !per_cpu(watchdog_task, this_cpu)) {
|
||
return;
|
||
+ }
|
||
|
||
/* do not print during early bootup: */
|
||
if (unlikely(system_state != SYSTEM_RUNNING)) {
|
||
diff --git a/mm/filemap.c b/mm/filemap.c
|
||
index 15c8413..14ca63f 100644
|
||
--- a/mm/filemap.c
|
||
+++ b/mm/filemap.c
|
||
@@ -1312,7 +1312,7 @@ int filemap_fault(struct vm_area_struct *vma, struct vm_fault *vmf)
|
||
|
||
size = (i_size_read(inode) + PAGE_CACHE_SIZE - 1) >> PAGE_CACHE_SHIFT;
|
||
if (vmf->pgoff >= size)
|
||
- goto outside_data_content;
|
||
+ return VM_FAULT_SIGBUS;
|
||
|
||
/* If we don't want any read-ahead, don't bother */
|
||
if (VM_RandomReadHint(vma))
|
||
@@ -1389,7 +1389,7 @@ retry_find:
|
||
if (unlikely(vmf->pgoff >= size)) {
|
||
unlock_page(page);
|
||
page_cache_release(page);
|
||
- goto outside_data_content;
|
||
+ return VM_FAULT_SIGBUS;
|
||
}
|
||
|
||
/*
|
||
@@ -1400,15 +1400,6 @@ retry_find:
|
||
vmf->page = page;
|
||
return ret | VM_FAULT_LOCKED;
|
||
|
||
-outside_data_content:
|
||
- /*
|
||
- * An external ptracer can access pages that normally aren't
|
||
- * accessible..
|
||
- */
|
||
- if (vma->vm_mm == current->mm)
|
||
- return VM_FAULT_SIGBUS;
|
||
-
|
||
- /* Fall through to the non-read-ahead case */
|
||
no_cached_page:
|
||
/*
|
||
* We're only likely to ever get here if MADV_RANDOM is in
|
||
diff --git a/mm/page-writeback.c b/mm/page-writeback.c
|
||
index 4472036..97ddc58 100644
|
||
--- a/mm/page-writeback.c
|
||
+++ b/mm/page-writeback.c
|
||
@@ -672,8 +672,10 @@ retry:
|
||
|
||
ret = (*writepage)(page, wbc, data);
|
||
|
||
- if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE))
|
||
+ if (unlikely(ret == AOP_WRITEPAGE_ACTIVATE)) {
|
||
unlock_page(page);
|
||
+ ret = 0;
|
||
+ }
|
||
if (ret || (--(wbc->nr_to_write) <= 0))
|
||
done = 1;
|
||
if (wbc->nonblocking && bdi_write_congested(bdi)) {
|
||
diff --git a/mm/shmem.c b/mm/shmem.c
|
||
index fcd19d3..95558e4 100644
|
||
--- a/mm/shmem.c
|
||
+++ b/mm/shmem.c
|
||
@@ -916,6 +916,21 @@ static int shmem_writepage(struct page *page, struct writeback_control *wbc)
|
||
struct inode *inode;
|
||
|
||
BUG_ON(!PageLocked(page));
|
||
+ /*
|
||
+ * shmem_backing_dev_info's capabilities prevent regular writeback or
|
||
+ * sync from ever calling shmem_writepage; but a stacking filesystem
|
||
+ * may use the ->writepage of its underlying filesystem, in which case
|
||
+ * we want to do nothing when that underlying filesystem is tmpfs
|
||
+ * (writing out to swap is useful as a response to memory pressure, but
|
||
+ * of no use to stabilize the data) - just redirty the page, unlock it
|
||
+ * and claim success in this case. AOP_WRITEPAGE_ACTIVATE, and the
|
||
+ * page_mapped check below, must be avoided unless we're in reclaim.
|
||
+ */
|
||
+ if (!wbc->for_reclaim) {
|
||
+ set_page_dirty(page);
|
||
+ unlock_page(page);
|
||
+ return 0;
|
||
+ }
|
||
BUG_ON(page_mapped(page));
|
||
|
||
mapping = page->mapping;
|
||
diff --git a/mm/slub.c b/mm/slub.c
|
||
index addb20a..c1f2fda 100644
|
||
--- a/mm/slub.c
|
||
+++ b/mm/slub.c
|
||
@@ -1501,28 +1501,8 @@ new_slab:
|
||
page = new_slab(s, gfpflags, node);
|
||
if (page) {
|
||
cpu = smp_processor_id();
|
||
- if (s->cpu_slab[cpu]) {
|
||
- /*
|
||
- * Someone else populated the cpu_slab while we
|
||
- * enabled interrupts, or we have gotten scheduled
|
||
- * on another cpu. The page may not be on the
|
||
- * requested node even if __GFP_THISNODE was
|
||
- * specified. So we need to recheck.
|
||
- */
|
||
- if (node == -1 ||
|
||
- page_to_nid(s->cpu_slab[cpu]) == node) {
|
||
- /*
|
||
- * Current cpuslab is acceptable and we
|
||
- * want the current one since its cache hot
|
||
- */
|
||
- discard_slab(s, page);
|
||
- page = s->cpu_slab[cpu];
|
||
- slab_lock(page);
|
||
- goto load_freelist;
|
||
- }
|
||
- /* New slab does not fit our expectations */
|
||
+ if (s->cpu_slab[cpu])
|
||
flush_slab(s, s->cpu_slab[cpu], cpu);
|
||
- }
|
||
slab_lock(page);
|
||
SetSlabFrozen(page);
|
||
s->cpu_slab[cpu] = page;
|