タグ

ブックマーク / retrage01.hateblo.jp (2)

  • OSはどうやってP-coreとE-coreを使い分けているのか - Blog posts by @retrage

    Alder Lake以降のIntel CPUでは、P-coreとE-coreの2種類のコアが搭載されている。 P-coreは性能重視、E-coreは省電力重視という位置づけで、OSがうまくこれらのコアを使い分けることで、消費電力と性能の両立が図られている。 ここまでの話は広く知られているが、実際にどのようにしてOSに対してコアの使い分けをさせているのかの実装レベルでの解説は (少なくとも日語では) ほぼ存在しないようなので調べてみた。 OSから見たP-coreとE-core OSの役割の一つとしてプロセススケジューリングがあり、どのプロセスをいつどれぐらいの期間どのCPUコアで実行するかを決める。OSができるだけ効率よくプロセスをスケジューリングするためには、CPUコアの性能や消費電力の違いを考慮したスケジューリングが必要になる。そこで、Intel CPUではOSに対して次の2つの情報を

    OSはどうやってP-coreとE-coreを使い分けているのか - Blog posts by @retrage
    yabu_kyu
    yabu_kyu 2023/08/21
  • Linux kernelの5-Level Paging有効化部分を読んでみる - Blog posts by @retrage

    この記事はLinux Advent Calendar 14日目の記事として書かれた. 記事ではLinuxにおける5-Level Paging(la57 paging)の実装を見ていく. 5-Level Pagingとは これまで,x86_64では物理アドレス下位48bitのみが使用されてきた. このため,64TiBの物理アドレス空間と256TiBの仮想アドレス空間に限られてきた. Intelはこれを拡張し,物理アドレス下位56bitへと拡張させた. これにより,4PiBの物理アドレス空間と128PiBの仮想アドレス空間が利用できるようになった. この拡張に対応するため新たに導入されたのが,ここで紹介する5-Level Pagingである. 基的な考え方は4-Level Pagingと同一であり, PML4にさらに上位にPML5が追加された形となっている. サポート状況について 現在,一

    Linux kernelの5-Level Paging有効化部分を読んでみる - Blog posts by @retrage
    yabu_kyu
    yabu_kyu 2019/07/09
  • 1