アカウント名:
パスワード:
システムコール毎に余分な処理してるのに、ほぼ速度変わらないってどういう原理なんだろう。一部の対策が不要になったからとかなら分かるんだけど。
出鱈目なコメントばっかりなので、正解をかいておく。
まず今のカーネルはCPUの種類を調べて、脆弱性の有無で動作を切り替えている。脆弱性があれば、処理は重くなるけど安全なルーチンを使い、脆弱性がなければ、処理が軽いルーチンを使う。
そして mitigations=off オプションを指定すると、脆弱性の有無を無視して、処理が軽いルーチンが常に選ばれるようになる。
具体的な動作は次のようになる。まず脆弱性が大量にある古いCPUを使っている場合:mitigations=off オプションなしの場合。脆弱性がたくさんあるので、重いルーチンが多数使われる。結果、激重になる。mitigations=off オプションありの場合。全部軽いルーチンに切り替わるので、劇的にパフォーマンスがあがる。(当然セキュリティーホールだらけになる)
次に脆弱性が少ないCPUを使っている場合:mitigations=off オプションなしの場合。そもそも脆弱性が少ないので、重いルーチンはあまり使われてない。だから少しだけ重くなる。mitigations=off オプションありの場合。少しだけ軽いルーチンに切り替わるから、少しだけ軽くなる。
このような動作になるので、CPUが新しくなって脆弱性が少なくなるほど、「mitigations = off」の有無による差は小さくなります。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
皆さんもソースを読むときに、行と行の間を読むような気持ちで見てほしい -- あるハッカー
どういう原理? (スコア:0)
システムコール毎に余分な処理してるのに、ほぼ速度変わらないってどういう原理なんだろう。
一部の対策が不要になったからとかなら分かるんだけど。
Re:どういう原理? (スコア:3, 参考になる)
出鱈目なコメントばっかりなので、正解をかいておく。
まず今のカーネルはCPUの種類を調べて、脆弱性の有無で動作を切り替えている。
脆弱性があれば、処理は重くなるけど安全なルーチンを使い、
脆弱性がなければ、処理が軽いルーチンを使う。
そして mitigations=off オプションを指定すると、脆弱性の有無を無視して、処理が軽いルーチンが常に選ばれるようになる。
具体的な動作は次のようになる。
まず脆弱性が大量にある古いCPUを使っている場合:
mitigations=off オプションなしの場合。脆弱性がたくさんあるので、重いルーチンが多数使われる。結果、激重になる。
mitigations=off オプションありの場合。全部軽いルーチンに切り替わるので、劇的にパフォーマンスがあがる。(当然セキュリティーホールだらけになる)
次に脆弱性が少ないCPUを使っている場合:
mitigations=off オプションなしの場合。そもそも脆弱性が少ないので、重いルーチンはあまり使われてない。だから少しだけ重くなる。
mitigations=off オプションありの場合。少しだけ軽いルーチンに切り替わるから、少しだけ軽くなる。
このような動作になるので、CPUが新しくなって脆弱性が少なくなるほど、「mitigations = off」の有無による差は小さくなります。