コンテンツにスキップ

「Linux-ck」の版間の差分

提供: ArchWiki
削除された内容 追加された内容
パッケージ: 章タイトルの変更(英語版に追従)
2章以降を英語版に差し替え
21行目: 21行目:
* 最新のカーネルバージョンに対応した CK パッチセット
* 最新のカーネルバージョンに対応した CK パッチセット


== インストール ==
== More about MuQSS ==
See the [https://lkml.org/lkml/2016/10/29/4 LKML announcement] posted by CK.
=== Check if MuQSS is enabled ===
This start-up message should appear in the kernel ring buffer when MuQSS in enabled:
{{hc|# dmesg {{!}} grep -i muqss|
MuQSS CPU scheduler v0.120 by Con Kolivas.
}}


=== MuQSS patched kernels and systemd ===
{{Note|カーネルを追加したら、ユーザーは手動で[[ブートローダー]]の設定ファイルを更新して新しいカーネルイメージが使われるようにする必要があります。}}

It is a common mistake to think that MuQSS does not support ''cgroups''. It does but not all the cgroup features (e.g. CPU limiting will not work).
ユーザーがカーネルパッケージを入手する方法は2つあります。

== Using out-of-tree modules with linux-ck ==
=== ソースからパッケージをコンパイル ===

Many out-of-tree modules (broadcom-wl, nvidia, virtualbox, etc.) can be easily compiled and managed by using [[DKMS]].
[[AUR]] には上述のパッケージのエントリが存在します。

PKGBUILD を修正することで linux-ck パッケージをカスタマイズすることが可能です:

* nconfig でユーザーにあわせた細かい調整。
* localmodconfig でモジュールを最小限にコンパイル。
* 標準の ARCH コンフィグオプションを迂回して最新のカーネルの .config ファイルを使用。
* [http://algo.ing.unimo.it/people/paolo/disk_sched/ BFQ I/O スケジューラ] をデフォルトに設定。

オプションに関する詳細は PKGBUILD のラインコメントを見て下さい。AUR からコンパイルするときは絶対に読むようにしましょう。

{{Note|AUR には linux-ck 専用のモジュールのための PKGBUILD が存在します。例えば {{AUR|nvidia-ck}}{{Broken package link|パッケージが存在しません}}, {{AUR|nvidia-340xx-ck}}{{Broken package link|パッケージが存在しません}}, {{AUR|broadcom-wl-ck}} などがあります。もしくは適切な [[DKMS]] パッケージを使ってください。例えば [[NVIDIA#カスタムカーネル]]に書かれている {{pkg|nvidia-dkms}} をインストールします。}}

=== コンパイル済みのパッケージを使う ===

カーネルのコンパイルに時間を割きたくないユーザーのために、[[en2:User:Graysky|graysky]] によってメンテナンスされている非公式リポジトリが存在します。詳しくは [[Repo-ck]] を見てください。

== MuQSS についての簡単な説明 ==

MuQSS はデスクトップ指向の cpu プロセススケジューラであり、負担レベルが通常のときに極端な低レイテンシによって素晴らしい応答性を実現します。

=== MuQSS の設計目標 ===

MuQSS には2つの大きな設計目標があります:
#デスクトップの優れた応答性とレスポンスを達成すること。ヒューリスティックやチューニングパラメータは使わない。理解するのが難しいし、効果を予測するのが困難で、何か一つのワークロードに合わせて設定すると他のワークロードに多大なダメージを与えることがあるため。
#cpu プロセススケジューラの過去の複雑な設計を完全に廃止して、とてもシンプルな必要最小限の設計でスケジューラを実装すること。

=== 待ち行列理論に関する動画 ===

[http://www.youtube.com/watch?v=F5Ri_HhziI0 この動画] はスーパーのレジを使って待ち行列理論について説明しています。CK によれば、"BFS が単一の待ち行列を使っているのに対して、メインラインの Linux カーネルでは複数の待ち行列を使用する設計がされていることと動画には関連性があります。人々はタスクであり、レジは CPU です。もちろん単なる待ち行列の設計と CPU スケジューラを同じものとすることはできませんが、この動画は仕組みを上手く言い当てていると感じました。"

=== MuQSS が有効になっているか確認 ===

MuQSS が有効になっていればカーネルリングバッファに以下のスタートアップメッセージが表示されるはずです:
$ dmesg | grep -i muqss
...
MuQSS CPU scheduler v0.120 by Con Kolivas.

=== MuQSS パッチのあたったカーネルと systemd ===

MuQSS が cgroups をサポートしてないと思ってしまうのはよくある間違いです。MuQSS は cgroups をサポートしています、ただし cgroups の機能を全てはサポートしてません (例: CPU の制限は動作しません)。

== トラブルシューティング ==

=== ブートローダーと Linux-ck ===
(新しい) カーネルイメージが見つかるようにブートローダーを設定する必要があります。GRUB の場合、[[GRUB#メイン設定ファイルの生成]]を見て下さい。他のブートローダーの場合、カスタムエントリを追加する必要があります。

[[REFInd#カスタムメニューエントリ|REFInd]] を使っている場合にカスタムエントリを追加するときの例:
{{hc|refind.conf|<nowiki>
menuentry Linux {
icon EFI/refind/icons/os_linux.png
ostype Linux
volume boot
loader /vmlinuz-linux-ck
initrd /initramfs-linux-ck.img
options "root=/dev/mapper/root elevator=bfq"
}
</nowiki>}}

=== VirtualBox で Linux-ck を動作させる ===

VirtualBox は Linux-ck などのカスタムカーネルでも問題なく動作します。公式の ARCH カーネルヘッダのパッケージをインストールしておく必要はありません。

忘れずにユーザーを ''vboxusers '' グループに追加してください:
# gpasswd -a USERNAME vboxusers

==== 非公式リポジトリを使う (Repo-ck から linux-ck をインストールした場合に推奨) ====

{{Note|As of 17-Oct-2012, Repo-ck users can enjoy these modules as pre-compiled packages in the repo itself. If you built your linux-ck from the AUR you '''cannot use the repo''' as all packages in the repo are matched groups.}}

pacman で直接 http://repo-ck.com を使用する方法は [[Repo-ck]] の記事を見て下さい。

==== virtualbox-ck-host-modules パッケージ (AUR から linux-ck をビルドした場合に推奨) ====

{{AUR|virtualbox-ck-host-modules}} パッケージをインストールしてから {{Pkg|virtualbox}} パッケージをインストールしてください。

==== DKMS を使う (やや複雑、LTS リリースを使う場合に推奨) ====

{{Pkg|virtualbox-host-dkms}} パッケージで virtualbox をインストールしてください。それから以下のように dkms を設定します:
# pacman -S virtualbox virtualbox-host-dkms
# dkms install vboxhost/4.3.12

{{Note|2番目のコマンドの virtualbox のバージョン番号は適当に置き換えてください。執筆時点では、4.3.12 が最新です。}}

=== ダウングレード ===

前のバージョンの linux-ck にダウングレードしたい場合、複数の選択肢があります:
* linux-ck-3.3.7-1 までのソースアーカイブが [http://repo-ck.com/bench.htm 存在] します。
* [http://pkgbuild.com/git/aur-mirror.git/log/linux-ck AUR.git] には linux-ck-2.6.39.3-1 までの linux-ck の git コミットが保存されています。

=== フォーラムのサポート ===

フォーラムにサポートのスレッドを作るときは、linux-ck パッケージに関連する投稿であることをわかるように題名に含めてください。


== 参照 ==
== 参照 ==

2021年6月21日 (月) 13:19時点における版

一般的なパッケージの詳細

Linux-ckAURAURrepo-ck の非公式リポジトリにあるパッケージでインストールすることができ、それによって旧 Brain Fuck Scheduler (BFS) を置き換える MuQSS (Multiple Queue Skiplist Scheduler) などを含む Con Kolivas の ck パッチセットがあてられたカーネル/ヘッダーを動作させることが可能です。どんな負担がかかっているときも素晴らしいデスクトップの応答性とレスポンスを得ることができる MuQSS を求める多くの Archer はこのパッケージを使っています。

CK パッチセットはデスクトップ・ノートパソコンでの使用を想定して設計しておりサーバー向けではありません。CPU のコア数が16個以下の環境で低遅延システムを実現します。

リリースサイクル

Linux-ck は公式の ARCH カーネルのリリースサイクルにおおよそ従っています。リリースには以下が必要になります:

  • 最新のカーネルバージョンに対応した CK パッチセット

More about MuQSS

​ See the LKML announcement posted by CK. ​

Check if MuQSS is enabled

​ This start-up message should appear in the kernel ring buffer when MuQSS in enabled: ​

# dmesg | grep -i muqss
MuQSS CPU scheduler v0.120 by Con Kolivas.

MuQSS patched kernels and systemd

​ It is a common mistake to think that MuQSS does not support cgroups. It does but not all the cgroup features (e.g. CPU limiting will not work). ​

Using out-of-tree modules with linux-ck

​ Many out-of-tree modules (broadcom-wl, nvidia, virtualbox, etc.) can be easily compiled and managed by using DKMS.

参照