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 に置いた.
Related articles
- 2021/01/13 21:27 / brtfs 上に swap ファイルを置く
- 2020/09/11 20:24 / Linux 5.9-rc4
- 2020/07/12 16:42 / Linux 5.8-rc4
- 2020/05/01 21:21 / Linux 5.7-rc1
- 2020/04/03 22:18 / Linux 5.6.x fs/cachefiles/rdwr.c bug
- 2020/01/11 20:50 / Linux 5.5-rc5
- 2019/11/25 14:45 / nvidia-kernel-dkms 418.74-1 with Linux 5.4
- 2019/10/02 00:03 / Linux 5.3.1 -> 5.4-rc1
- 2019/09/20 14:45 / nvidia-kernel-dkms 418.74-1 with Linux 5.3
- 2019/07/22 19:13 / Linux 5.2.2 -> 5.3-rc1
- 2019/06/28 20:38 / GeForce GT 430 with nvidia-legacy-390xx-kernel-dkms 390.116-1~bpo9+1
- 2019/06/12 16:10 / Linux 5.1.8 -> 5.2-rc4
- 2019/05/07 19:43 / Linux 5.0.9 -> 5.1.0
- 2019/03/07 22:16 / Linux 4.20.13 -> 5.0.0
- 2018/11/06 11:30 / Linux 4.19.0 -> 4.20-rc1
- 2018/08/29 11:06 / Linux 4.18.5 -> 4.19-rc1
- 2018/06/20 17:06 / Linux 4.17.2 -> 4.18-rc1
- 2018/04/19 15:25 / Linux 4.16.2 -> 4.17-rc1
- 2018/02/12 17:23 / Linux 4.15.3 -> 4.16-rc1
- 2018/01/29 11:08 / Linux 4.14.15 -> 4.15
- 2017/11/28 12:42 / Linux 4.14.2 -> 4.15-rc1
- 2017/11/15 15:56 / Linux ORC unwinder と objtool (CONFIG_STACK_VALIDATION needs tools/objtool/objtool along headers)
- 2017/11/15 15:41 / Linux 4.13.12 -> 4.14.0
- 2017/09/18 07:04 / Linux 4.13.1 -> 4.14-rc1
- 2017/09/05 04:14 / Linux 4.12.10 -> 4.13
- 2017/07/16 23:56 / Linux 4.12.0 -> 4.13-rc1
- 2017/05/15 14:04 / Linux 4.11.0 -> 4.12-rc1
- 2017/05/03 00:24 / Linux 4.10.13 -> 4.11.0
- 2017/03/06 09:51 / Linux 4.10.1 -> 4.11-rc1
- 2017/02/20 10:31 / Linux 4.9.X -> 4.10
- 2016/12/30 21:28 / Linux 4.9 -> 4.10-rc1
- 2016/12/14 23:00 / Linux 4.8 -> 4.9