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=yscripts/sorttable: Rename ‘sortextable’ to ‘sorttable’
Rename された.
-
+CONFIG_TIME_NS=y
+CONFIG_GENERIC_VDSO_TIME_NS=yns: Introduce Time Namespace
x86/vdso: Add time napespace page -
-CONFIG_X86_PTDUMP_CORE=y
+CONFIG_GENERIC_PTDUMP=y
+CONFIG_PTDUMP_CORE=yx86: 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=ybootconfig: 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=ybpf, 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=yx86/intel: Initialize IA32_FEAT_CTL MSR at boot
def_bool y depends on CPU_SUP_INTEL -
+CONFIG_X86_VMX_FEATURE_NAMES=yx86/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=yasm-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=yethtool: introduce ethtool netlink interface
yにしておく. -
-CONFIG_REGMAP_I2C=y
-CONFIG_REGMAP_SPI=y
+CONFIG_REGMAP_I2C=mrtc: 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=ydrm/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=0ALSA: hda: No preallocation on x86 platforms
CONFIG_SND_DMA_SGBUF=y(CONFIG_X86=yならyになる)であれば preallocation 不要とのことでここでの設定不可(0)になった. -
+CONFIG_NFS_DISABLE_UDP_SUPPORT=yNFS: 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=256selinux: 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=11crypto: 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 に置いた.