-
ニュー速(嫌儲)
-
【?】Linuxのコードをたった30行ガッツリ修正するだけでデータセンターの電力消費量を最大30%削減 [723315487]
-
UPLIFTで広告なしで体験しましょう!快適な閲覧ライフをお約束します!
https://gigazine.net...-a-greener-internet/
Linuxのコードをたった30行修正するだけでデータセンターの電力消費量を最大30%削.減.可.能.、実際にLinux 6.13から反映される - コメントを投稿する
-
泥の消費電力改善されんの?
-
つまりLinuxのコードが全部で100行だったのを70行にするってこと?
-
>カーステン教授によると、コードは一切追加しておらず、「何をいつ実行するか」を再配置して、データセンターのCPUキャッシュ使用率を大幅に増やしただけだとのこと。変更内容についてカーステン教授は「製造工場のパイプを再配置して、従業員が常に走り回らなくてもいいようにしたようなもの」と説明しています。
良く分からないけど動いてるからヨシ!が大々的に行われてただけじゃね -
>>3
なんでそうなるんだ -
aiに改修させろ
-
データセンターでもカーネルは未だに5.xxだろ
-
最大30%
最大?
机上のベストケースの数字を言ってるだけで
実際は5%がせいぜいってオチじゃないだろうな -
コード書いたやつもわかってるよね
コード書いた後でこうすりゃもっと簡潔でよかったなって思うんだけど
目の前でエラーなく動いてるしもはや弄りたくないw -
データセンターのLinux常に最新にしてる奴なんて存在するのか
-
>>8
5%でも凄いがな -
Androidスマホも省電力化できるやん
-
効率悪かったんだな
-
なんか前もこんな話無かったっけ?
-
>>5
彼の頭は二行でできてるからな -
消費電力減るのはいいけど性能は変わらんの?
-
AIなんてポンコツが出す答えの99%は間違いだからな
CPUのキャッシュメモリがバチクソ25年前にリナックス作った時より大幅に安くなり容量も増えて高速になったのに
日本のあほと馬鹿とパワー系知的障害者しかいない財務省が30年103万円の壁を放置したのと同じで178万円にあげたら
30%もバチクソ高速になり(゚∀゚)あひゃゃ高性能化した -
https://cs.uwaterloo...archers-update-linux
直接URL張れないけどこの記事の下の方にパッチへのリンクがある (The Linux kernel code addition のとこ)
それなりに行数あってインタビュー受けてる教授が提供した約30行の部分がどこだかわかんね -
昔からそうだったのか
ハードの進歩でいつのまにか効率良い方法が逆転していたのか -
こんなんするよりcpuをarmにするだけでだいぶ省電力になりそうだけど
-
スパゲッティコードをストレート麺コードにしたのか
-
>>19
下にdiffあるやん -
>>22
それやるならソフトを全部arm向けに書き直さなきゃいけんのだが、大規模システムでそれやろうとすると
芋づる式にあれもこれも書き直しっていうのが続出して手に負えなくなる
x86コードを動くようにエミュとかすると性能が下がりすぎて話にならなくなる
というわけでどこもやらんという話 -
全コード削除すれば全く電気食わなくなるのでは?
-
Unix板の伝説かな
-
たった30行のコーディングでギガワット単位の削減は
凄い画期的な進歩なんだろうけど、
俺の肛門も閉鎖されそうです
↑なぜかこの言葉が思い浮かんでしまう -
まあいいじゃんそういうのを正したわけか
-
複数の条件のif文のとき、なんも考えずに条件を羅列するようなもんかな?
世界中の人から「男性かつ日本人」を抽出するときに、男性かどうかよりも先に日本人か判定したほうが効率がいい的なやつ -
全然、理解できないけど、
おまいらは理解できるの? -
すごいなあ
-
テストコードも一緒入ってるから30行以上コミットさらとるな
-
これくそくだらないやつで30%高速化って発表して
周りが誰も乗ってこなかったから少電力化に言い換えたのか -
deepseekに聞いてみたがわけわからん
このパッチは、Linuxカーネルのcgroups v1サブシステム(特にメモリサブシステム)におけるuse-after-freeバグを修正しています。以下に詳細を説明します:
**問題の背景**
- cgroup v1ファイルシステムをマウントする際、メモリサブシステムの新しいルート(`root_mem_cgroup`)の割り当てに失敗すると、カーネルが既に解放されたメモリ領域(use-after-free)にアクセスする可能性がありました。
**バグの原因**
- 元のコードでは、新しい`mem_cgroup`の割り当てに失敗した後、`root_mem_cgroup`の更新と古いリソースの解放(`mem_cgroup_put`)を誤った順序で実行していました。
- 具体的には、割り当て失敗時に`new_root`が解放された後も、解放済みの`old`ポインタ(以前の`root_mem_cgroup`)を参照しようとしていました。
**パッチの修正内容**
1. **RCUポインタの更新タイミング変更**:
- `rcu_assign_pointer(root_mem_cgroup, ...)`の実行を、新しい`mem_cgroup`の割り当てが成功した場合のみに限定しました。
- これにより、割り当て失敗時に不正なポインタが設定されるのを防ぎます。
2. **参照カウント管理の改善**:
- 古い`root_mem_cgroup`の参照(`old`)を、新しいポインタを設定する前に取得するように変更しました。
- これにより、解放済みリソースを`mem_cgroup_put`で参照するリスクを排除しています。
**修正の影響**
- メモリサブシステムのマウント処理が安定化され、カーネルクラッシュやメモリ破損の可能性が低減されます。
- cgroups v1を使用するシステムの信頼性向上が期待されます。
この修正は、リソース管理の順序とライフサイクルを厳密に制御することで、複雑なメモリ管理操作中の競合状態を解決する典型例です。 -
>>29
diff --git a/fs/eventpoll.c b/fs/eventpoll.c
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
diff --git a/include/net/busy_poll.h b/include/net/busy_poll.h
diff --git a/include/uapi/linux/netdev.h b/include/uapi/linux/netdev.h
diff --git a/net/core/dev.c b/net/core/dev.c
diff --git a/net/core/dev.h b/net/core/dev.h
diff --git a/net/core/netdev-genl-gen.c b/net/core/netdev-genl-gen.c
diff --git a/net/core/netdev-genl.c b/net/core/netdev-genl.c
この辺がカーネル自体の変更部分か。git形式のdiffだから、前後数行も一緒に出力されて増えてるけど、
追加部分(+)だけでも30行よりは多いな。このなかのどこかが中核部分なのだろう。
分かる人はたぶんこの板にはいないw -
システムコールばっかり!
-
同じ値参照しそうなやつ優先で並べ替えたのか
-
ソースコードて数十万行ありそうなのによう読めるな
サーバールーム入るとずっとファン回ってるけどあれも電力の無駄じゃない?
負荷かかってるときだけ回せばええやんって思うんだけど
常時高負荷だったらまあわかるけどそんなことないやろ
あとlinuxだと負荷分散でirqbalanceあるけどあれもよくなさそう -
>>6
AIゴミコードしか出さんぞ -
Linuxを導入するメリットが未だにわからん
-
家の郵便受けを見に行ったら空っぽのとき、わざわざ郵便局まで行って訪ねて無かったら家に戻り、次は郵便受け見ないで郵便局直行する、くっそ面倒な事やってそう
-
パッチの内容見たけど30行以上ないっすか?
コメントとかの部分除いても30行超えてると思うんだけど。
ていうかほとんどコメントよね、これ。 -
これも株価に効きそうな話
-
>>48
働け -
無能がカーネル作ってるからな
-
Linuxのソースコードの汚さは有名だからな
肥大化して無駄の塊になってる
誰かが直すだろうで回ってる界隈 -
Facebookで「Linux」関連の投稿が禁止されコミュニティは「マルウェア扱いされた」と反発
https://gigazine.net...-linux-facebook-ban/ -
まぁ、結局、過去互換性の問題でしょ
増やすと古いシステムで誤動作するからあえて
切って動作してるとか
割とよくある話だよ -
さすがにi386は切った
-
ほらみろやっぱり GNU Hurd は必要だったんだよ
モノリシックカーネルではこうなることは確定的だった -
>>60
ちゃんと動くものを作り上げるのが何より正義 -
ジャップ「プログラムなんて誰が書いたって同じじゃガハハ!」
↑今すぐ読める無料コミック大量配信中!↑