Linux 4.9 がリリースされたので,make menuconfigで何もせずに Exit したら手元の Linux 4.8 の .config がどう変更されるのか見てみた.以下 - は削除されたもの,+ は追加されたもの m->n 等は値の変化を示す.
-
+CONFIG_THREAD_INFO_IN_TASK=ysched/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=yx86/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=yblk_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->ncpufreq: schedutil: Make it depend on CONFIG_SMP
CPU_FREQ_GOV_SCHEDUTIL が SMP に依存するため m を選択できなくなった.使っていないので,提案どおり n にする.
-
+CONFIG_NET_VENDOR_AMAZON=ynet: 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=yserial: 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=ygpio: Remove GPIO_DEVRES option
GPIO_DEVRES の option を追加したけど意味がなくなったので削除された模様.
-
-CONFIG_DRM_VIA=mdrm: hide legacy drivers with CONFIG_DRM_LEGACY
DRM_LEGACY "Enable legacy drivers (DANGEROUS)"を選択しないとこの option は現れなくなった.不要だろうと思われるので提案どおりにする. -
+CONFIG_DW_DMAC_CORE=y
CONFIG_DW_DMAC_PCI=n->yDesignWare 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=ymm/hugetlb: introduce ARCH_HAS_GIGANTIC_PAGE
X86_64であれば無条件に select される. -
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=yftrace: Remove
CONFIG_HAVE_FUNCTION_GRAPH_FP_TESTfrom config.config から通常の define に変更されたとのこと.そもそもなぜ y にしていたのか不明.
-
-CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE=yatomic64: no need for
CONFIG_ARCH_HAS_ATOMIC64_DEC_IF_POSITIVE削除された.
-
+CONFIG_SBITMAP=yblk-mq: abstract tag allocation out into sbitmap library
block/blk-mq-tag.cの一部がlib/sbitmap.cに分離されたことによりできた option.というかCONFIG_BLOCKで select されるので,ほぼ強制的に y になる.