Linux 4.9 がリリースされたので,make menuconfig
で何もせずに Exit したら手元の Linux 4.8 の .config がどう変更されるのか見てみた.以下 -
は削除されたもの,+
は追加されたもの m->n
等は値の変化を示す.
-
+CONFIG_THREAD_INFO_IN_TASK=y
sched/core: Allow putting thread_info into task_struct
x86: Move thread_info into task_structX86 であれば無条件に y になる.
-
+CONFIG_HAVE_ARCH_VMAP_STACK=y
+CONFIG_VMAP_STACK=y
x86/mm/64: Enable vmapped stacks (CONFIG_HAVE_ARCH_VMAP_STACK=y)
fork: Add generic vmalloced stack supportX86_64 であれば
CONFIG_HAVE_ARCH_VMAP_STACK=y
が select されてCONFIG_VMAP_STACK
(virtually-mapped stack, vmapped stack)が選択可能になる.CONFIG_VMAP_STACK
の default は y.fork: Optimize task creation by caching two thread stacks per CPU ifCONFIG_VMAP_STACK=y
とのことなので高速化にも繋がる.Linux 4.9 の feature の1つ. -
+CONFIG_BLK_MQ_PCI=y
blk_mq: linux/blk-mq.h does not include all the headers it depends on
blk-mq: provide a default queue mapping for PCI device の fix.y 以外選択肢無し.
-
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=m->n
cpufreq: schedutil: Make it depend on CONFIG_SMP
CPU_FREQ_GOV_SCHEDUTIL が SMP に依存するため m を選択できなくなった.使っていないので,提案どおり n にする.
-
+CONFIG_NET_VENDOR_AMAZON=y
net: ena: Add a driver for Amazon Elastic Network Adapters (ENA)
新たに導入された driver for Amazon Elastic Network Adapters (ENA) (
drivers/net/ethernet/amazon/
)関連.使う予定がないので n にする. -
+CONFIG_SERIAL_8250_LPSS=y
serial: 8250_lpss: split LPSS driver to separate module
Intel Braswell 等の Intel SoC 向け UART driver が
8250_pci.c
から8250_lpss.c
に分離されたとのこと.使う予定がない(あっても UART を使わない)ので n にする. -
-CONFIG_GPIO_DEVRES=y
gpio: Remove GPIO_DEVRES option
GPIO_DEVRES の option を追加したけど意味がなくなったので削除された模様.
-
-CONFIG_DRM_VIA=m
drm: hide legacy drivers with CONFIG_DRM_LEGACY
DRM_LEGACY "Enable legacy drivers (DANGEROUS)"
を選択しないとこの option は現れなくなった.不要だろうと思われるので提案どおりにする. -
+CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC_PCI=n->y
DesignWare AHB DMA PCI driver だが
CONFIG_SERIAL_8250_LPSS=y
で select されて y になっていた模様.n にする.そもそもは Intel LPSS (CONFIG_X86_INTEL_LPSS=y
) に由来するが,これは Haswell (Intel 8 Series chipsets AKA Lynx Point) 以降 (Kconfig によっては Skylake の Intel 100 Series chipsets AKA Sunrise Point との記載もある) を使う可能性があれば y にしておいたほうが無難かもしれない. -
+CONFIG_ARCH_HAS_GIGANTIC_PAGE=y
mm/hugetlb: introduce ARCH_HAS_GIGANTIC_PAGE
X86_64
であれば無条件に select される. -
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
ftrace: Remove
CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST
from config.config から通常の define に変更されたとのこと.そもそもなぜ y にしていたのか不明.
-
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=y
atomic64: no need for
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE
削除された.
-
+CONFIG_SBITMAP=y
blk-mq: abstract tag allocation out into sbitmap library
block/blk-mq-tag.c
の一部がlib/sbitmap.c
に分離されたことによりできた option.というかCONFIG_BLOCK
で select されるので,ほぼ強制的に y になる.