さくらのVPSにCentOS7入れて kernel 4.5をコンパイルしてみた

さくらのVPSにCentOS 7を入れて、カーネル4.5.2をコンパイルしてみた時の make oldconfig の設定。
https://polaire.org/r-top/mob/2015/11/centos-7-1.html (日本語の情報が少なかったので凄い助かりました。マジありがとう！)を参考に、出てないとこだけまとめた。


## PIDs controller (CGROUP_PIDS)
コンテナ使わない限りはいらなそう
ref: http://gihyo.jp/admin/serial/01/linux_containers/0003

## Enable bpf() system call (BPF_SYSCALL)
ネットワークパケットにゲスト環境からアクセスするインターフェイスらしい。
既に仮想化されてるVPS用なんで無効で

## Static key selftest (STATIC_KEYS_SELFTEST)
ブート時にパッチのテストがどうのこうのだけど、めったにブートしないのでn

## Intel MID platform support (X86_INTEL_MID)
インテルのモバイルプラットフォームのサポートなんでいらない

## AMD ACPI2Platform devices support (X86_AMD_PLATFORM_DEVICE)
さくらのVPSのCPUはIntelのXenonだったんでN

## Paravirt queued spinlock statistics (QUEUED_LOCK_STAT)
"スローパスに関する統計データの収集を有効にします"との事だけどいらないんでN

## CMA debugfs interface (CMA_DEBUGFS)
CMAのデバッグとかしないんでN

## Export zsmalloc statistics (ZSMALLOC_STAT)
見ないんでN

## Defer initialisation of struct pages to kthreads (DEFERRED_STRUCT_PAGE_INIT) 
巨大なマシンのブートに関する事みたいだけど、小さなVPSなんでN

## Enable idle page tracking (IDLE_PAGE_TRACKING)
アイドル状態のページをトラッキングするらしい。メモリ管理の効率が良くなるっぽいんだけど、その分常に少しだけCPU使うみたいなのでN

## Support non-standard NVDIMMs and ADR protected memory (X86_PMEM_LEGACY)
よくわからない場合はYとあるのでY
VPSだからたぶんNでも大丈夫だと思う...

## Intel MPX (Memory Protection Extensions) (X86_INTEL_MPX)
サポートしてないっぽいんでN

## vsyscall table for legacy applications
古いシステムコールの仕様なので、あんまり使わなそうなのでデフォルト（ LEGACY_VSYSCALL_EMULATE ）に

## Kernel Live Patching (LIVEPATCH)
Ver.4からカーネルのライブパッチが出来る様になったらしい。
特に必要性を感じなかったのでNで

## AML debugger interface (ACPI_DEBUGGER）
開発機だけど、AML debuggerはいらんのでN

## Allow supported ACPI revision to be overriden (ACPI_REV_OVERRIDE_POSSIBLE)
VPSなんで多分不要、Nで

## ACPI NVDIMM Firmware Interface Table (NFIT) (ACPI_NFIT)
揮発性のDRAMとNANDを両方搭載したRAM用のインターフェイスらしい。
VPSは関係無さそうなのでN

## PMIC (Power Management Integrated Circuit) operation region support (PMIC_OPREGION
PMICとかVPSは関係無さそうなんでN

## Default CPUFreq governor
新しくpowersave (CPU_FREQ_DEFAULT_GOV_POWERSAVE)オプションが追加されたらしい。
VPSだから関係あるのか微妙だけど、performance (CPU_FREQ_DEFAULT_GOV_PERFORMANCE)にしてみた。

## Volume Management Device Driver (VMD)
Intel Volume Management Deviceのドライバ。VPSだといらなそうだし、よく解らなければNにしとけと言われるのでNで
http://www.phoronix.com/scan.php?page=news_item&px=Linux-4.5-PCI-Updates

## INET: allow privileged process to administratively close sockets (INET_DIAG_DESTROY)
これもよくわかんなければNにしろとの事。

## CAIA Delay-Gradient (CDG) (TCP_CONG_CDG)
新しいパケットフロー制御アルゴリズムらしい。詳しくは下記を参照。
興味はあるが、とりあえずデフォルトのNで
https://630e6617.github.io/2015/09/12/reading-delay-gradient-congestion-control/

## IPv6: Identifier Locator Addressing (ILA) (IPV6_ILA)
IPv6は使わないし、よくわかんなかったらNでと言われるのでNで

## Netfilter ingress support (NETFILTER_INGRESS)
iptablesとかで使ってるパケットキャプチャのフレームワークがNetfilterって言うらしい。
これはその ingress hook。 とりあえずデフォルト
http://wiki.nftables.org/wiki-nftables/index.php/Netfilter_hooks

## NFQUEUE and NFLOG integration with Connection Tracking (NETFILTER_NETLINK_GLUE_CT)
これもiptablesとかで使うっぽい。
とりあえずデフォルト。

## Netfilter nf_tables netdev tables support (NF_TABLES_NETDEV)
とりあえずモジュールにしておく

## Netfilter nf_tables redirect support (NFT_REDIR) 
これもとりあえずモジュールにしておく

## Netfilter packet duplication support (NF_DUP_NETDEV)
これもとりあえずモジュールにしておく

## Netfilter nf_tables netdev packet duplication support (NFT_DUP_NETDEV)
デフォルトでn

## Netfilter nf_tables netdev packet forwarding support
デフォルトでn

## "ipcomp" match support (NETFILTER_XT_MATCH_IPCOMP) 
デフォルトでn

## IPv4 nf_tables packet duplication support (NFT_DUP_IPV4)
デフォルトでn

## IPv4 redirect support for nf_tables (NFT_REDIR_IPV4)
デフォルトでn

## Flower classifier (NET_CLS_FLOWER)
デフォルトでn

## Vlan manipulation (NET_ACT_VLAN)
VLANとか使わないんでn

## BPF based action (NET_ACT_BPF) 
よくわかんんきゃnとの事なのでn
BPFについてはここがわかりやすかった。パケットキャプチャとかsocket使った通信とかその辺の関係。
このサーバではやんないのでnでいい
http://www.tiger1997.jp/report/activity/securityreport_20131111.html

## MPLS: routing support (MPLS_ROUTING)
デフォルトのnで
MPLSに関してはココ https://ja.wikipedia.org/wiki/Multi-Protocol_Label_Switching
http://www.infraexpert.com/study/mpls1.html

## Switch (and switch-ish) device support (EXPERIMENTAL) (NET_SWITCHDEV)
よくわからない。たぶんスイッチ用のOSに使うときのオプションだと思う。デフォルトのnで

## L3 Master device support (NET_L3_MASTER_DEV)
たぶんこれもスイッチ用のOSに使うときのオプションだと思う。デフォルトのnで

## Bluetooth Classic (BR/EDR) features (BT_BREDR)
Bluetoothとか使わないんでn

## Bluetooth Low Energy (LE) features (BT_LE)
Bluetoothとか使わないんでn

## Bluetooth self testing support (BT_SELFTEST)
Bluetoothとか使わないんでn

## Export Bluetooth internals in debugfs (BT_DEBUGFS)
Bluetoothとか使わないんでn

## Broadcom protocol support (BT_HCIBTUSB_BCM)
Bluetoothとか使わないんでn

## Realtek protocol support (BT_HCIBTUSB_RTL)
Bluetoothとか使わないんでn

## Intel protocol support (BT_HCIUART_INTEL) 
Bluetoothとか使わないんでn

## Broadcom protocol support (BT_HCIUART_BCM)
Bluetoothとか使わないんでn

## Qualcomm Atheros protocol support (BT_HCIUART_QCA)
Bluetoothとか使わないんでn

## Network light weight tunnels (LWTUNNEL)
NFCも使わないんでn

## Retain master device when partitioned (MTD_PARTITIONED_MASTER)
デフォルトのnで

## Device Tree and Open Firmware support (OF)
yにした方が良さそうだけど、今回はクロスコンパイルじゃないんでデフォルトのnで
Device Treeに関しては http://qiita.com/koara-local/items/ed99a7b96a0ca252fc4e

## SCSI emulation for NVMe device nodes (BLK_DEV_NVME_SCSI)
たぶんVPSなあらNVMeとか関係無いと思うのでデフォルトのnで

## SCIF Bus Driver (SCIF_BUS)
インテルMIC関係。関係無さそうなんでnで

## Cisco SNIC Driver (SCSI_SNIC)
VPSなんでnで

## Tekram DC390(T) and Am53/79C974 SCSI support (new driver) (SCSI_AM53C974)
VPSなんでnで

## Western Digital WD7193/7197/7296 support (SCSI_WD719X)
VPSなんでnで

## CEVA AHCI SATA support (AHCI_CEVA)
VPSなんでnで