やるきなし

2020/07/12 16:42 / Linux 5.8-rc4

Linux 5.8-rc1 がでたので(既に rc4 になってるけど),5.7.8 から .configがどう変更されるのか見てみた.以下 - は削除されたもの,+ は追加されたもの.x86_64.New features 等は https://www.phoronix.com/scan.php?page=article&item=linux-58-features 参照.

追加

CONFIG_MEDIA_SUPPORT_FILTER 関連

削除

追記 (2020/8/21)

cachefiles の挙動が 5.8.x で怪しい.以下でコケる.5.6 でも cachefiles にはバグがあって,それは 5.6.14 で修正されたのだけど (Linux 5.6.x fs/cachefiles/rdwr.c bug参照),そもそも cachefiles ユーザ(あるいは NFS ユーザ?)はそんなに多くないのかな...cachefiles 自体のコードは 5.7 から 5.8 でほぼ変更が加えられていない様子なのだけど.

Aug 21 19:14:42 qemu kernel: [  323.988885] CacheFiles: 
Aug 21 19:14:42 qemu kernel: [  323.988888] CacheFiles: Assertion failed
Aug 21 19:14:42 qemu kernel: [  323.988926] ------------[ cut here ]------------
Aug 21 19:14:42 qemu kernel: [  323.988927] kernel BUG at fs/cachefiles/rdwr.c:715!
Aug 21 19:14:42 qemu kernel: [  323.988934] invalid opcode: 0000 [#13] SMP PTI
Aug 21 19:14:42 qemu kernel: [  323.988937] CPU: 2 PID: 4214 Comm: sshd Tainted: P      D    O      5.8.2-20200821-diskless-01 #313
Aug 21 19:14:42 qemu kernel: [  323.988938] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-1 04/01/2014
Aug 21 19:14:42 qemu kernel: [  323.988946] RIP: 0010:cachefiles_read_or_alloc_pages.cold.20+0x307/0x3b3 [cachefiles]
Aug 21 19:14:42 qemu kernel: [  323.988948] Code: 10 e8 69 db cc e0 48 8b 44 24 28 8b 10 e9 50 c2 ff ff 48 c7 c7 43 87 40 a0 e8 51 db cc e0 48 c7 c7 60 9d 40 a0 e8 45 db cc e0 <0f> 0b 49 8b 57 20 44 89 e9 48 c7 c7 e7 87 40 a0 65 48 8b 34 25 00
Aug 21 19:14:42 qemu kernel: [  323.988950] RSP: 0018:ffffc9000192f9c0 EFLAGS: 00010246
Aug 21 19:14:42 qemu kernel: [  323.988952] RAX: 000000000000001c RBX: ffff8881fbc8ac00 RCX: 0000000000000027
Aug 21 19:14:42 qemu kernel: [  323.988953] RDX: 0000000000000000 RSI: ffff88822be979c0 RDI: ffff88822be979c8
Aug 21 19:14:42 qemu kernel: [  323.988954] RBP: ffff8881dec0a068 R08: 0000000000000534 R09: 000000000000002b
Aug 21 19:14:42 qemu kernel: [  323.988955] R10: 0000000000000000 R11: ffffc9000192f875 R12: ffff8881c84dfa58
Aug 21 19:14:42 qemu kernel: [  323.988956] R13: ffffc9000192fcd0 R14: ffff888227a36900 R15: ffff8881dec0a000
Aug 21 19:14:42 qemu kernel: [  323.988958] FS:  00007f725f467e40(0000) GS:ffff88822be80000(0000) knlGS:0000000000000000
Aug 21 19:14:42 qemu kernel: [  323.988961] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 21 19:14:42 qemu kernel: [  323.988963] CR2: 0000564ddd7d6168 CR3: 0000000187cfc000 CR4: 00000000000006e0
Aug 21 19:14:42 qemu kernel: [  323.988964] Call Trace:
Aug 21 19:14:42 qemu kernel: [  323.988971]  ? out_of_line_wait_on_bit+0x91/0xb0
Aug 21 19:14:42 qemu kernel: [  323.988976]  ? fscache_run_op.isra.12+0x55/0xb0
Aug 21 19:14:42 qemu kernel: [  323.988978]  __fscache_read_or_alloc_pages+0x28e/0x300
Aug 21 19:14:42 qemu kernel: [  323.988982]  __nfs_readpages_from_fscache+0x60/0x160
Aug 21 19:14:42 qemu kernel: [  323.988985]  nfs_readpages+0xb5/0x1a0
Aug 21 19:14:42 qemu kernel: [  323.988990]  read_pages+0x1c1/0x1f0
Aug 21 19:14:42 qemu kernel: [  323.988993]  page_cache_readahead_unbounded+0x1ad/0x200
Aug 21 19:14:42 qemu kernel: [  323.988997]  generic_file_buffered_read+0x5c3/0x960
Aug 21 19:14:42 qemu kernel: [  323.989001]  ? nfs4_do_check_delegation+0x18/0x40
Aug 21 19:14:42 qemu kernel: [  323.989005]  ? nfs_check_cache_invalid+0x33/0x90
Aug 21 19:14:42 qemu kernel: [  323.989007]  nfs_file_read+0x6b/0x90
Aug 21 19:14:42 qemu kernel: [  323.989011]  new_sync_read+0x114/0x1a0
Aug 21 19:14:42 qemu kernel: [  323.989013]  vfs_read+0x151/0x180
Aug 21 19:14:42 qemu kernel: [  323.989015]  ksys_read+0x59/0xd0
Aug 21 19:14:42 qemu kernel: [  323.989018]  do_syscall_64+0x3e/0xb0
Aug 21 19:14:42 qemu kernel: [  323.989020]  entry_SYSCALL_64_after_hwframe+0x44/0xa9
Aug 21 19:14:42 qemu kernel: [  323.989023] RIP: 0033:0x7f725f80a461
Aug 21 19:14:42 qemu kernel: [  323.989025] Code: fe ff ff 50 48 8d 3d fe d0 09 00 e8 e9 03 02 00 66 0f 1f 84 00 00 00 00 00 48 8d 05 99 62 0d 00 8b 00 85 c0 75 13 31 c0 0f 05 <48> 3d 00 f0 ff ff 77 57 c3 66 0f 1f 44 00 00 41 54 49 89 d4 55 48
Aug 21 19:14:42 qemu kernel: [  323.989026] RSP: 002b:00007ffd776e1588 EFLAGS: 00000246 ORIG_RAX: 0000000000000000
Aug 21 19:14:42 qemu kernel: [  323.989028] RAX: ffffffffffffffda RBX: 0000564ddd7bdf90 RCX: 00007f725f80a461
Aug 21 19:14:42 qemu kernel: [  323.989029] RDX: 0000000000002000 RSI: 0000564ddd7d4160 RDI: 0000000000000004
Aug 21 19:14:42 qemu kernel: [  323.989030] RBP: 0000000000000d68 R08: 0000000000000003 R09: 00007f725f8dbd30
Aug 21 19:14:42 qemu kernel: [  323.989031] R10: 0000564ddd79e010 R11: 0000000000000246 R12: 00007f725f8d7760
Aug 21 19:14:42 qemu kernel: [  323.989032] R13: 00007f725f8d82a0 R14: 0000000000000000 R15: 0000000000000000
Aug 21 19:14:42 qemu kernel: [  323.989034] Modules linked in: fuse ext4 crc16 mbcache jbd2 dm_crypt ecb aes_generic libaes crypto_simd cryptd glue_helper xts algif_skcipher af_alg dm_mod xt_conntrack xt_MASQUERADE xfrm_user xfrm_algo nft_counter xt_addrtype nft_compat nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter cpufreq_userspace cpufreq_powersave cpufreq_ondemand cpufreq_conservative rpcsec_gss_krb5 btrfs blake2b_generic zstd_decompress zstd_compress bochs_drm drm_vram_helper drm_ttm_helper ttm drm_kms_helper syscopyarea intel_agp sysfillrect intel_gtt snd_pcm sg sysimgblt fb_sys_fops snd_timer joydev evdev snd serio_raw button soundcore pcspkr cachefiles lm78 i5k_amb nf_tables hwmon_vid nfnetlink msr drm agpgart nfsd binfmt_misc ip_tables x_tables autofs4 loop squashfs overlay raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod sd_mod t10_pi crc_t10dif crct10dif_generic sr_mod cdrom crct10dif_common
Aug 21 19:14:42 qemu kernel: [  323.989066]  ata_generic ata_piix libata psmouse scsi_mod rtc_cmos
Aug 21 19:14:42 qemu kernel: [  323.989072] ---[ end trace f27e8415c423cf4c ]---
Aug 21 19:14:42 qemu kernel: [  323.989076] RIP: 0010:cachefiles_read_or_alloc_pages.cold.20+0x307/0x3b3 [cachefiles]
Aug 21 19:14:42 qemu kernel: [  323.989078] Code: 10 e8 69 db cc e0 48 8b 44 24 28 8b 10 e9 50 c2 ff ff 48 c7 c7 43 87 40 a0 e8 51 db cc e0 48 c7 c7 60 9d 40 a0 e8 45 db cc e0 <0f> 0b 49 8b 57 20 44 89 e9 48 c7 c7 e7 87 40 a0 65 48 8b 34 25 00
Aug 21 19:14:42 qemu kernel: [  323.989079] RSP: 0018:ffffc900005cf9c0 EFLAGS: 00010246
Aug 21 19:14:42 qemu kernel: [  323.989081] RAX: 000000000000001c RBX: ffff8881fbc8ac00 RCX: 0000000000000027
Aug 21 19:14:42 qemu kernel: [  323.989082] RDX: 0000000000000000 RSI: ffff88822bf179c0 RDI: ffff88822bf179c8
Aug 21 19:14:42 qemu kernel: [  323.989083] RBP: ffff8881dec0a068 R08: 000000000000027c R09: 000000000000002b
Aug 21 19:14:42 qemu kernel: [  323.989084] R10: 0000000000000000 R11: ffffc900005cf875 R12: ffff8881c84dfa58
Aug 21 19:14:42 qemu kernel: [  323.989085] R13: ffffc900005cfcd0 R14: ffff88822a584f00 R15: ffff8881dec0a000
Aug 21 19:14:42 qemu kernel: [  323.989086] FS:  00007f725f467e40(0000) GS:ffff88822be80000(0000) knlGS:0000000000000000
Aug 21 19:14:42 qemu kernel: [  323.989087] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
Aug 21 19:14:42 qemu kernel: [  323.989088] CR2: 0000564ddd7d6168 CR3: 0000000187cfc000 CR4: 00000000000006e0

https://bugzilla.kernel.org/show_bug.cgi?id=208883 にも報告されていて,ここでは https://lkml.org/lkml/2020/8/3/960fscache-iterを merge すれば解決するという案が示されているが,https://lkml.org/lkml/2020/8/10/454でこの pull request は一旦取り下げられている.

追記 (2020/9/2)

cachefiles の挙動が 5.8.x で怪しい問題,https://lkml.org/lkml/2020/8/27/714 の patch をあてたら解決する.少なくとも 5.8.5 ではこの patch が必要.

追記 (2021/1/30)

cachefiles の挙動が怪しい問題,https://lkml.org/lkml/2020/8/27/714 の patch がようやく cachefiles: Drop superfluous readpages aops NULL checkのように取り込まれた様子.5.11-rc5 および 5.10.11 (commit)で修正されている.

追記 (2020/8/21)

以下の compile には https://gitlab.com/-/snippets/1986228/ のパッチが必要.

また,nvidia-legacy-390xx-kernel-dkms については kernel 側に https://www.spinics.net/lists/linux-fsdevel/msg173844.html のパッチが必要(なぜか radix_tree_preloadsEXPORT_PER_CPU_SYMBOL_GPL されていてリンクできない,とかだったはず).

Related articles