第2章 カーネル
ファイバーチャンネルプロトコル: End-To-End のデータ整合性チェック
Red Hat Enterprise Linux 6.4 におけるホストアダプタとストレージサーバー間のデータ整合性が改善されています。 End-To-End (E2E) のデータ整合性チェックに強化された T10 DIF SCSI 標準の zFCP 固有の部分を実装しました。
IBM System z 向け Flash Express に対応
IBM System z の Storage-Class Memory (SCM) はストレージとメモリーの両方のプロパティを結合させたデータストレージデバイスの 1 クラスになります。 System z の SCM が Flash Express メモリーに対応するようになります。 SCM の増分へは Extended Asynchronous Data Mover (EADM) サブチャンネルを使ってアクセスすることができます。 各増分はブロックデバイスで表されます。 この機能により、 データを保管する場合などのページング率や一時ストレージへのアクセスパフォーマンスが向上されます。
Open vSwitch カーネルモジュール
Red Hat Enterprise Linux 6.4 には Open vSwitch カーネルモジュールが Red Hat の各レイヤード製品の重要パーツとして同梱されています。 Open vSwitch は、 付随するユーザー領域ユーティリティーを同梱している製品と併用する場合のみのサポートになります。 必要となるユーザー領域のユーティリティがなくては Open vSwitch は機能しません。 また、 有効にすることもできません。 詳細については https://access.redhat.com/knowledge/articles/270223 にあるナレッジベースの記載を参照してください。
起動したシステムとダンプされたシステムとの比較
イメージの移行により取り込んだ可能性のある変更を効率的に分析するため、 起動したシステムをダンプされたシステムと比較することができる機能です。 ゲストの識別には
stsi
と stfle
データが使用されます。 新機能となる lgr_info_log()
により現在のデータ (lgr_info_cur
) が最後に記録されたデータ (lgr_info_last
) と比較されます。
Perf ツールの更新
perf ツールがアップストリームバージョン 3.6-rc7 に更新されました。 多数のバグ修正と機能強化が含まれています。 注目すべき機能強化をいくつか以下にあげます。
- Kprobe イベントに対応するようになりました。
- perf イベントコマンドラインの新しい構文エンジンが同梱されています。 イベントグループの定義などに波カッコが使用できるようになります (
{
と}
)。 例、{cycles,cache-misses}
- perf annotate ブラウザが強化され、 ASM コールとジャンプを使った操作が可能になりました。
- perf ツールが更新され、 新しい
--uid
コマンドラインオプションを使ったユーザーごとの表示が可能になりました。 このオプションを使用すると perf では指定したユーザーのタスクのみを表示するようになります。 - perf ではより多くの種類の自動化テストを提供するようになります。
Uncore PMU に対応
Red Hat Enterprise Linux 6.4 に同梱されるカーネルにより「uncore」 Performance Monitoring Unit (PMU) のサポートが Intel Xeon Processor X55xx および Intel Xeon Processor X56xx ファミリーのプロセッサの perf イベントサブシステムに追加されます。 「uncore」は、 3次キャッシュなど複数のプロセッサコアで共有される物理的なプロセッサパッケージ内のサブシステムを参照します。 uncore PMU サポートの追加により、 パフォーマンスデータがパッケージレベルで簡単に収集できるようになります。
PMU イベントの解析についても有効になり、 perf 経由でのデバッグが可能になりました。
memcg
メモリーのオーバーヘッドを低減
メモリーの再要求など、 メモリーコントロールグループでは独自の Least Recently Used (LRU) リストの管理が行なわれます。 このリストはゾーンごとのグローバルの LRU リストより上位にありました。 Red Hat Enterprise Linux 6.4 では、 ゾーンごとのグローバル LRU リストを無効にし代わりにメモリーごとの cgroup リストで動作するようユーザーを変換することで
memcg
のメモリーのオーバーヘッドを低減しました。
メモリーの再要求と圧縮
Red Hat Enterprise Linux 6.4 に同梱されるカーネルでは、 高位の割り当て要求やメモリーに負荷がかかっている場合に再要求と圧縮を使用します。
Transactional Execution Facility および Runtime Instrumentation Facility に対応
Linux カーネルでの Transactional-Execution Facility (IBM zEnterprise EC12 で利用可) のサポートにより、 パフォーマンスに影響を与えるソフトウェアロックのオーバーヘッドを解消し、 スケーラビリティや並列処理能力を向上させより高いトランザクションスループットを実現します。 Runtime Instrumentation Facility (IBM zEnterprise EC12 で利用可) のサポートでは、プログラムコードのプロファイリングに高度なメカニズムを適用し、 分析機能を改善して新しい IBM JVM で生成されるコードの最適化を図ります。
fail-open モード
Red Hat Enterprise Linux 6.4 では、 netfilter の NFQUEUE ターゲットを使用する際に新しい fail-open モードに対応するようになります。 このモードを使用すると、一時的なパケット検査の無効化やネットワークトラフィックが混雑している場合の接続性の維持などをユーザーによって行なえるようになります。
IBM System z 向け kdump と kexec のカーネルダンプメカニズムに完全サポート
Red Hat Enterprise Linux 6.4 では、 IBM System z スタンドアローンとハイパーバイザーのダンプメカニズムに加え、 kdump および kexec のカーネルダンプのメカニズムが IBM System z システムに対して完全対応機能として有効になります。 自動予約のしきい値が 4 GB にセットされるため、 4 GB 以上のメモリーを持つ IBM System z システムはすべて kdump および kexec のメカニズムが有効になります。
kdump の予約にはデフォルトで約 128 MB のメモリーを必要とするため、 十分な空きメモリーを確保しておく必要があります。 特に Red Hat Enterprise Linux 6.4 にアップグレードを行なう場合に重要となります。 システムクラッシュ時に備えダンプの格納用にも十分なディスク領域が必要になります。
kdump を設定するまたは無効にする場合は
/etc/kdump.conf
、 system-config-kdump、 firstboot のいずれかを使用します。
KVM の TSC デッドラインに対応
TSC デッドラインタイマーはローカル APIC (LAPIC) タイマーの新しいモードになります。 現在の APIC クロックカウントの間隔に代わり、 TSC デッドラインに応じたワンショットタイマーの割り込みを生成します。 タイマーの割り込みの精度が高くなるため (1 ティック以内)、 OS のスケジューラーがより正確になります。 KVM ではこの機能がゲストで利用できるようになります。
永続的なデバイスの命名
デバイス名 (
sda
、 sdb
など) と永続的なデバイス名 (/dev/disk/by-*/
内の udev で与えられる) のマッピングをカーネルメッセージに格納する機能です。 これにより、 カーネルメッセージからデバイスを識別することができるようになります。 dmesg
コマンドで表示できるカーネルの /dev/kmsg
ログには、 カーネルデバイス用に udev によって作成されたシンボリックリンクのメッセージが表示されるようになります。 こうしたメッセージは以下のような形式で表示されます。
udev-alias: <device_name> (<symbolic_link> <symbolic link> …)
このメッセージはいずれのアナライザーでも表示することができ、 syslog によって
/var/log/messages
にも保存されます。
新しい linuxptp パッケージ
テクノロジープレビューとして Red Hat Enterprise Linux 6.4 に同梱される linuxptp パッケージは Linux 向け IEEE 標準 1588 に沿った Precision Time Protocol (PTP) の実装になります。 堅牢な標準の実装を提供すること、 Linux カーネルが提供する最新かつ最適の Application Programming Interfaces (API) を使用すること、 この 2 点を目的として設計されています。 したがってレガシーな API およびその他のプラットフォームのサポートは目的としていません。
Transparent Hugepages に関するドキュメント
transparent hugepages に関するドキュメントが以下のファイルに追加されました。
/usr/share/doc/kernel-doc-<version>/Documentation/vm/transhuge.txt
ダンプの対象に関するサポートの状態
Red Hat Enterprise Linux 6.4 では、 サポートされているダンプ対象、 サポートされていないダンプ対象、 不明なダンプ対象について詳しく記載された一覧が
/usr/share/doc/kexec-tools-2.0.0/kexec-kdump-howto.txt
ファイルの 「Dump Target support status」 のセクションでご覧いただけます。