Linux 5.6-rc2 で 5.5.5 から .config
がどう変更されるのか見てみた.以下 -
は削除されたもの,+
は追加されたもの.x86_64.New features 等は https://www.phoronix.com/scan.php?page=article&item=linux-56-features 参照.大きなところは net: WireGuard secure network tunnel で VPN である WireGuard が取り込まれたことと AMD 関連かなと.
-
-CONFIG_BUILDTIME_EXTABLE_SORT=y
+CONFIG_BUILDTIME_TABLE_SORT=y
scripts/sorttable: Rename ‘sortextable’ to ‘sorttable’
Rename された.
-
+CONFIG_TIME_NS=y
+CONFIG_GENERIC_VDSO_TIME_NS=y
ns: Introduce Time Namespace
x86/vdso: Add time napespace page -
-CONFIG_X86_PTDUMP_CORE=y
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_PTDUMP_CORE=y
x86: mm: convert dump_pagetables to use walk_page_range
mm: add generic ptdumpA generic version of page table dumping.
-
+CONFIG_BOOT_CONFIG=y
+CONFIG_BOOTTIME_TRACING=y
bootconfig: Add Extra Boot Config support
bootconfig: Remove unneeded CONFIG_LIBXBC
bootconfig: Load boot config from the tail of initrd
tracing/boot: Add boot-time tracing新機能.ともに
n
にできるがy
のままにしておく. -
+CONFIG_ARCH_WANT_DEFAULT_BPF_JIT=y
+CONFIG_BPF_JIT_DEFAULT_ON=y
bpf, x86, arm64: Enable jit by default when not built as always-on
BPF_JIT_ALWAYS_ON=y
でなくても Default で BPF (Berkeley Packet Filter) の JIT が有効になるようになった.Debian では今のところBPF_JIT_ALWAYS_ON=n
が Default の設定. -
+CONFIG_IA32_FEAT_CTL=y
x86/intel: Initialize IA32_FEAT_CTL MSR at boot
def_bool y depends on CPU_SUP_INTEL
-
+CONFIG_X86_VMX_FEATURE_NAMES=y
x86/cpu: Detect VMX features on Intel, Centaur and Zhaoxin CPUs
def_bool y depends on IA32_FEAT_CTL && X86_FEATURE_NAMES
-
-CONFIG_HAVE_RCU_TABLE_FREE=y
+CONFIG_MMU_GATHER_RCU_TABLE_FREE=y
+CONFIG_MMU_GATHER_TABLE_FREE=y
asm-generic/tlb: rename HAVE_RCU_TABLE_FREE
asm-generic/tlb: provide MMU_GATHER_TABLE_FREECONFIG_HAVE_RCU_TABLE_FREE
がMMU_GATHER_RCU_TABLE_FREE
に Rename され,MMU_GATHER_TABLE_FREE
が導入された. -
+CONFIG_ETHTOOL_NETLINK=y
ethtool: introduce ethtool netlink interface
y
にしておく. -
-CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_I2C=m
rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed
RTC_I2C_AND_SPI
で select されなくなり,RTC_I2C_AND_SPI
に依存する個別の device driver で select されるようになった.REGMAP_I2C
については以前は以下でy
になっていた.Selected by [y]: RTC_I2C_AND_SPI [=y] && RTC_CLASS [=y] && I2C [=y] Selected by [m]: SENSORS_LM75 [=m] && HWMON [=y] && I2C [=y] SENSORS_LM95245 [=m] && HWMON [=y] && I2C [=y] TYPEC_TPS6598X [=m] && USB_SUPPORT [=y] && TYPEC [=m] && I2C [=y]
これ,5.5.6 でも <https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/commit/?id=fe0ed403e082358eea51ad2a2a56f92896f4a1cf> として取り込まれている.
-
-CONFIG_DRM_AMD_DC_DCN1_0=y
-CONFIG_DRM_AMD_DC_DCN2_0=y
-CONFIG_DRM_AMD_DC_DSC_SUPPORT=y
+CONFIG_DRM_AMD_DC_DCN=y
drm/amd/display: Drop CONFIG_DRM_AMD_DC_DCN2_0 and DSC_SUPPORTED
drm/amd/display: rename DCN1_0 kconfig to DCNCONFIG_DRM_AMD_DC_DCN2_0
とCONFIG_DRM_AMD_DC_DSC_SUPPORT
が削除され(Default で有効),CONFIG_DRM_AMD_DC_DCN1_0
がCONFIG_DRM_AMD_DC_DCN
に Rename された.GPU は Intel か nVidia ばかりで
CONFIG_DRM_AMDGPU=m
自体不要かもしれないが,そのままで. -
-CONFIG_SND_HDA_PREALLOC_SIZE=64
+CONFIG_SND_HDA_PREALLOC_SIZE=0
ALSA: hda: No preallocation on x86 platforms
CONFIG_SND_DMA_SGBUF=y
(CONFIG_X86=y
ならy
になる)であれば preallocation 不要とのことでここでの設定不可(0)になった. -
+CONFIG_NFS_DISABLE_UDP_SUPPORT=y
NFS: allow deprecation of NFS UDP protocol
NFS over UDP を disable する設定が追加された.Default は
y
.ちなみに手元では常にproto=tcp
で mount している(ずっと以前にGbEと100BASE-TXが混ざった環境でUDPだと挙動が怪しかったので,そのころからTCPにしている).ついにこの時が来たか,という感じ.Choose Y here to disable the use of NFS over UDP. NFS over UDP on modern networks (1Gb+) can lead to data corruption caused by fragmentation during high loads.
-
+CONFIG_SECURITY_SELINUX_SIDTAB_HASH_BITS=9
+CONFIG_SECURITY_SELINUX_SID2STR_CACHE_SIZE=256
selinux: sidtab reverse lookup hash table
selinux: cache the SID -> context string translationちょっとそもそも SELinux の機能を使っていないので
CONFIG_SECURITY_SELINUX=n
にする. -
-CONFIG_CRYPTO_LIB_POLY1305_RSIZE=4
+CONFIG_CRYPTO_LIB_POLY1305_RSIZE=11
crypto: x86/poly1305 - wire up faster implementations for kernel
include/crypto/poly1305.h
にあるstruct poly1305_key opaque_r
の配列長.若干早くなったらしい.今のところ使っていないけど,
CONFIG_CRYPTO_CHACHA20POLY1305
等有効にしておく.5.6 では VPN である WireGuard が kernel に取り込まれていて,これを使う場合は select される(とりあえず使わない).
追記 (2020/2/29)
いつものように以下の DKMS のコンパイルに失敗する.
- nvidia-kernel-dkms 430.64-4~bpo10+1
- nvidia-legacy-390xx-kernel-dkms 390.116-1
nvidia-kernel-dkms については https://gitlab.com/snippets/1937313 のパッチを当てればコンパイルできる.以下の kernel の修正による.
- remove ioremap_nocache and devm_ioremap_nocache で
ioremap_nocache
が削除された(ioremap
と同じなので). - y2038: hide timeval/timespec/itimerval/itimerspec types で
struct timeval
やstruct timespec
が利用できなくなった.ioctl.rst の Timestamps 付近. - y2038: remove unused time32 interfaces で
getrawmonotonic
が削除され,かわりにktime_get_raw_ts64
の利用が推奨される. - proc: decouple proc from VFS with “struct proc_ops” で
proc_create_data
関数の I/F に変更があった.const struct file_operations
がconst struct proc_ops
に変更され,メンバ名も変更された.
nvidia-legacy-390xx-kernel-dkms についても同様だが,こちらは以下の影響も受ける.
- mm, tree-wide: rename put_user_page() to unpin_user_page() で
put_user_page
がunpin_user_page
に rename された.
nvidia-legacy-390xx-kernel-dkms 390.116-1 向け patch (Linux 5.5 向け patch があたっていることを想定)を https://pastebin.com/g4VD5U7F に置いた.