Greeting, FYI, we noticed the following commit (built with gcc-9): commit: 80abc4109f1d43bd0bcdd8a06fe50efd7589d4af ("mm/highmem: Remove deprecated kmap_atomic") https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git master in testcase: rcuscale version: with following parameters: runtime: 300s scale_type: tasks on test machine: qemu-system-i386 -enable-kvm -cpu SandyBridge -smp 2 -m 8G caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace): +-------------------------------------------------+------------+------------+ | | bff8e91b53 | 80abc4109f | +-------------------------------------------------+------------+------------+ | boot_successes | 12 | 0 | | boot_failures | 0 | 12 | | WARNING:at_mm/highmem.c:#__kmap_local_sched_out | 0 | 12 | | EIP:__kmap_local_sched_out | 0 | 12 | | EIP:wp_page_copy | 0 | 5 | | WARNING:at_mm/highmem.c:#__kmap_local_sched_in | 0 | 12 | | EIP:__kmap_local_sched_in | 0 | 12 | | EIP:do_fault | 0 | 5 | | EIP:prep_new_page | 0 | 1 | +-------------------------------------------------+------------+------------+ If you fix the issue, kindly add following tag Reported-by: kernel test robot [ 27.158955] WARNING: CPU: 0 PID: 1 at mm/highmem.c:618 __kmap_local_sched_out (kbuild/src/consumer/mm/highmem.c:618 (discriminator 1)) [ 27.162724] Modules linked in: [ 27.163644] CPU: 0 PID: 1 Comm: swapper Not tainted 5.11.0-rc7-00340-g80abc4109f1d #1 [ 27.165696] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.12.0-1 04/01/2014 [ 27.167860] EIP: __kmap_local_sched_out (kbuild/src/consumer/mm/highmem.c:618 (discriminator 1)) [ 27.169123] Code: d1 8b 55 f0 29 c2 89 c8 c7 02 00 00 00 00 e8 57 dc ed ff 83 c3 01 83 c7 04 39 9e a4 16 00 00 7f b9 83 c4 04 5b 5e 5f 5d c3 90 <0f> 0b eb e5 8d b4 26 00 00 00 00 8d 74 26 00 90 55 89 e5 57 56 53 All code ======== 0: d1 8b 55 f0 29 c2 rorl -0x3dd60fab(%rbx) 6: 89 c8 mov %ecx,%eax 8: c7 02 00 00 00 00 movl $0x0,(%rdx) e: e8 57 dc ed ff callq 0xffffffffffeddc6a 13: 83 c3 01 add $0x1,%ebx 16: 83 c7 04 add $0x4,%edi 19: 39 9e a4 16 00 00 cmp %ebx,0x16a4(%rsi) 1f: 7f b9 jg 0xffffffffffffffda 21: 83 c4 04 add $0x4,%esp 24: 5b pop %rbx 25: 5e pop %rsi 26: 5f pop %rdi 27: 5d pop %rbp 28: c3 retq 29: 90 nop 2a:* 0f 0b ud2 <-- trapping instruction 2c: eb e5 jmp 0x13 2e: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi 35: 8d 74 26 00 lea 0x0(%rsi,%riz,1),%esi 39: 90 nop 3a: 55 push %rbp 3b: 89 e5 mov %esp,%ebp 3d: 57 push %rdi 3e: 56 push %rsi 3f: 53 push %rbx Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: eb e5 jmp 0xffffffffffffffe9 4: 8d b4 26 00 00 00 00 lea 0x0(%rsi,%riz,1),%esi b: 8d 74 26 00 lea 0x0(%rsi,%riz,1),%esi f: 90 nop 10: 55 push %rbp 11: 89 e5 mov %esp,%ebp 13: 57 push %rdi 14: 56 push %rsi 15: 53 push %rbx [ 27.173681] EAX: 00000000 EBX: 00000000 ECX: 00000002 EDX: 00000002 [ 27.175281] ESI: c3db9b80 EDI: c3dbb228 EBP: c3d9fc4c ESP: c3d9fc3c [ 27.176875] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00010046 [ 27.178600] CR0: 80050033 CR2: 00000000 CR3: 02de2000 CR4: 000006d0 [ 27.180195] Call Trace: [ 27.180963] __schedule (kbuild/src/consumer/kernel/sched/core.c:4098 kbuild/src/consumer/kernel/sched/core.c:4132 kbuild/src/consumer/kernel/sched/core.c:4279 kbuild/src/consumer/kernel/sched/core.c:5078) [ 27.181990] ? preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:54 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:94 kbuild/src/consumer/kernel/sched/core.c:5339) [ 27.183184] preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:29 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:79 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:169 kbuild/src/consumer/kernel/sched/core.c:5341) [ 27.184323] irqentry_exit_cond_resched (kbuild/src/consumer/kernel/entry/common.c:387) [ 27.185599] irqentry_exit (kbuild/src/consumer/kernel/entry/common.c:417) [ 27.186630] common_interrupt (kbuild/src/consumer/arch/x86/kernel/irq.c:239) [ 27.187728] asm_common_interrupt (kbuild/src/consumer/arch/x86/include/asm/idtentry.h:620) [ 27.188913] EIP: prep_new_page (kbuild/src/consumer/include/linux/string.h:432 kbuild/src/consumer/arch/x86/include/asm/page_32.h:39 kbuild/src/consumer/include/linux/highmem.h:203 kbuild/src/consumer/mm/page_alloc.c:1212 kbuild/src/consumer/mm/page_alloc.c:2301 kbuild/src/consumer/mm/page_alloc.c:2307) [ 27.190058] Code: 00 89 de d3 e0 01 d8 89 45 e8 8d 74 26 00 90 8b 15 4c f3 ce c2 89 f0 83 c6 20 81 e2 63 01 00 00 e8 aa 89 fe ff 8d 78 04 89 c1 00 00 00 00 00 89 c2 c7 80 fc 0f 00 00 00 00 00 00 83 e7 fc 31 All code ======== 0: 00 89 de d3 e0 01 add %cl,0x1e0d3de(%rcx) 6: d8 89 45 e8 8d 74 fmuls 0x748de845(%rcx) c: 26 00 90 8b 15 4c f3 add %dl,%es:-0xcb3ea75(%rax) 13: ce (bad) 14: c2 89 f0 retq $0xf089 17: 83 c6 20 add $0x20,%esi 1a: 81 e2 63 01 00 00 and $0x163,%edx 20: e8 aa 89 fe ff callq 0xfffffffffffe89cf 25: 8d 78 04 lea 0x4(%rax),%edi 28: 89 c1 mov %eax,%ecx 2a:* c7 00 00 00 00 00 movl $0x0,(%rax) <-- trapping instruction 30: 89 c2 mov %eax,%edx 32: c7 80 fc 0f 00 00 00 movl $0x0,0xffc(%rax) 39: 00 00 00 3c: 83 e7 fc and $0xfffffffc,%edi 3f: 31 .byte 0x31 Code starting with the faulting instruction =========================================== 0: c7 00 00 00 00 00 movl $0x0,(%rax) 6: 89 c2 mov %eax,%edx 8: c7 80 fc 0f 00 00 00 movl $0x0,0xffc(%rax) f: 00 00 00 12: 83 e7 fc and $0xfffffffc,%edi 15: 31 .byte 0x31 [ 27.194588] EAX: ffffb000 EBX: d778ee00 ECX: ffffb000 EDX: ffffb000 [ 27.196181] ESI: d778ee20 EDI: ffffb004 EBP: c3d9fd38 ESP: c3d9fd20 [ 27.197789] DS: 007b ES: 007b FS: 0000 GS: 00e0 SS: 0068 EFLAGS: 00010292 [ 27.199507] ? prep_new_page (kbuild/src/consumer/include/linux/string.h:432 kbuild/src/consumer/arch/x86/include/asm/page_32.h:39 kbuild/src/consumer/include/linux/highmem.h:203 kbuild/src/consumer/mm/page_alloc.c:1212 kbuild/src/consumer/mm/page_alloc.c:2301 kbuild/src/consumer/mm/page_alloc.c:2307) [ 27.200582] get_page_from_freelist (kbuild/src/consumer/mm/page_alloc.c:3952) [ 27.201826] __alloc_pages_nodemask (kbuild/src/consumer/mm/page_alloc.c:4997) [ 27.203062] __vmalloc_node_range (kbuild/src/consumer/include/linux/gfp.h:511 kbuild/src/consumer/mm/vmalloc.c:2576) [ 27.204241] __vmalloc_node (kbuild/src/consumer/mm/vmalloc.c:2621) [ 27.205267] ? e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) [ 27.206657] vzalloc (kbuild/src/consumer/mm/vmalloc.c:2674) [ 27.207564] ? e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) [ 27.208914] e1000_setup_all_tx_resources (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1505 kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1574) [ 27.210259] e1000_open (kbuild/src/consumer/drivers/net/ethernet/intel/e1000/e1000_main.c:1367) [ 27.211241] ? call_netdevice_notifiers_info (kbuild/src/consumer/net/core/dev.c:2041) [ 27.212598] __dev_open (kbuild/src/consumer/net/core/dev.c:1532) [ 27.213599] __dev_change_flags (kbuild/src/consumer/net/core/dev.c:8479) [ 27.214749] dev_change_flags (kbuild/src/consumer/net/core/dev.c:8550) [ 27.215830] ip_auto_config (kbuild/src/consumer/net/ipv4/ipconfig.c:243 kbuild/src/consumer/net/ipv4/ipconfig.c:1475) [ 27.216893] ? __this_cpu_preempt_check (kbuild/src/consumer/lib/smp_processor_id.c:71) [ 27.218158] ? __this_cpu_preempt_check (kbuild/src/consumer/lib/smp_processor_id.c:71) [ 27.219406] ? root_nfs_parse_addr (kbuild/src/consumer/net/ipv4/ipconfig.c:1438) [ 27.220574] ? root_nfs_parse_addr (kbuild/src/consumer/net/ipv4/ipconfig.c:1438) [ 27.221758] do_one_initcall (kbuild/src/consumer/init/main.c:1223) [ 27.222836] ? debug_locks_off (kbuild/src/consumer/lib/debug_locks.c:47) [ 27.223933] ? rcu_read_lock_sched_held (kbuild/src/consumer/include/linux/lockdep.h:271 kbuild/src/consumer/kernel/rcu/update.c:123) [ 27.225196] ? trace_initcall_level (kbuild/src/consumer/include/trace/events/initcall.h:10 (discriminator 29)) [ 27.226414] kernel_init_freeable (kbuild/src/consumer/init/main.c:1295 kbuild/src/consumer/init/main.c:1312 kbuild/src/consumer/init/main.c:1332 kbuild/src/consumer/init/main.c:1533) [ 27.227593] ? rest_init (kbuild/src/consumer/init/main.c:1418) [ 27.228612] kernel_init (kbuild/src/consumer/init/main.c:1423) [ 27.229606] ret_from_fork (kbuild/src/consumer/arch/x86/entry/entry_32.S:856) [ 27.230624] irq event stamp: 4311562 [ 27.236869] hardirqs last enabled at (4311561): preempt_schedule_irq (kbuild/src/consumer/arch/x86/include/asm/irqflags.h:54 kbuild/src/consumer/arch/x86/include/asm/irqflags.h:94 kbuild/src/consumer/kernel/sched/core.c:5339) [ 27.239077] hardirqs last disabled at (4311562): __schedule (kbuild/src/consumer/kernel/sched/core.c:4977 (discriminator 1)) [ 27.241108] softirqs last enabled at (4311560): __do_softirq (kbuild/src/consumer/arch/x86/include/asm/preempt.h:26 kbuild/src/consumer/kernel/softirq.c:371) [ 27.243189] softirqs last disabled at (4311553): do_softirq_own_stack (kbuild/src/consumer/arch/x86/kernel/irq_32.c:59 kbuild/src/consumer/arch/x86/kernel/irq_32.c:148) [ 27.245393] ---[ end trace 00319dbec13fc731 ]--- [ 27.246821] ------------[ cut here ]------------ To reproduce: # build kernel cd linux cp config-5.11.0-rc7-00340-g80abc4109f1d .config make HOSTCC=gcc-9 CC=gcc-9 ARCH=i386 olddefconfig prepare modules_prepare bzImage git clone https://github.com/intel/lkp-tests.git cd lkp-tests bin/lkp qemu -k job-script # job-script is attached in this email Thanks, Oliver Sang