2024-02-28 03:37:47

by Oliver Sang

[permalink] [raw]
Subject: [bristot:dl_server_v6] [sched/fair] cf9fc54f9a: WARNING:at_kernel/sched/deadline.c:#pick_task_dl



Hello,

kernel test robot noticed "WARNING:at_kernel/sched/deadline.c:#pick_task_dl" on:

commit: cf9fc54f9a409f1a16798041a034d28bfc95b451 ("sched/fair: Add trivial fair server")
git://git.kernel.org/cgit/linux/kernel/git/bristot/linux dl_server_v6

in testcase: ltp
version: ltp-x86_64-14c1f76-1_20240224
with following parameters:

test: sched



compiler: gcc-12
test machine: 8 threads 1 sockets Intel(R) Core(TM) i7-3770K CPU @ 3.50GHz (Ivy Bridge) with 16G memory

(please refer to attached dmesg/kmsg for entire log/backtrace)



If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <[email protected]>
| Closes: https://lore.kernel.org/oe-lkp/[email protected]


[ 184.352299][ T4597] ------------[ cut here ]------------
[ 184.352603][ T4597] WARNING: CPU: 3 PID: 4597 at kernel/sched/deadline.c:2108 pick_task_dl (kernel/sched/deadline.c:2108 (discriminator 1))
[ 184.352933][ T4597] Modules linked in: netconsole btrfs intel_rapl_msr blake2b_generic intel_rapl_common xor x86_pkg_temp_thermal raid6_pq intel_powerclamp zstd_compress coretemp libcrc32c kvm_intel kvm sd_mod t10_pi crc64_rocksoft_generic crc64_rocksoft crc64 irqbypass crct10dif_pclmul sg crc32_pclmul crc32c_intel ipmi_devintf ghash_clmulni_intel sha512_ssse3 ipmi_msghandler i915 rapl intel_cstate drm_buddy mxm_wmi intel_gtt firewire_ohci ahci drm_display_helper firewire_core libahci crc_itu_t intel_uncore ttm i2c_i801 libata drm_kms_helper i2c_smbus lpc_ich video wmi binfmt_misc drm loop fuse dm_mod ip_tables
[ 184.354449][ T4597] CPU: 3 PID: 4597 Comm: cfs_bandwidth01 Not tainted 6.8.0-rc4-00015-gcf9fc54f9a40 #1
[ 184.354767][ T4597] Hardware name: /DZ77BH-55K, BIOS BHZ7710H.86A.0097.2012.1228.1346 12/28/2012
[ 184.355080][ T4597] RIP: 0010:pick_task_dl (kernel/sched/deadline.c:2108 (discriminator 1))
[ 184.355322][ T4597] Code: 00 00 00 49 8d bf e8 00 00 00 48 89 f8 48 c1 e8 03 80 3c 28 00 0f 85 02 01 00 00 4c 89 ff 41 ff 97 e8 00 00 00 48 85 c0 75 7f <0f> 0b 4c 89 f0 4c 89 f1 48 c1 e8 03 83 e1 07 0f b6 04 28 38 c8 7f
All code
========
0: 00 00 add %al,(%rax)
2: 00 49 8d add %cl,-0x73(%rcx)
5: bf e8 00 00 00 mov $0xe8,%edi
a: 48 89 f8 mov %rdi,%rax
d: 48 c1 e8 03 shr $0x3,%rax
11: 80 3c 28 00 cmpb $0x0,(%rax,%rbp,1)
15: 0f 85 02 01 00 00 jne 0x11d
1b: 4c 89 ff mov %r15,%rdi
1e: 41 ff 97 e8 00 00 00 callq *0xe8(%r15)
25: 48 85 c0 test %rax,%rax
28: 75 7f jne 0xa9
2a:* 0f 0b ud2 <-- trapping instruction
2c: 4c 89 f0 mov %r14,%rax
2f: 4c 89 f1 mov %r14,%rcx
32: 48 c1 e8 03 shr $0x3,%rax
36: 83 e1 07 and $0x7,%ecx
39: 0f b6 04 28 movzbl (%rax,%rbp,1),%eax
3d: 38 c8 cmp %cl,%al
3f: 7f .byte 0x7f

Code starting with the faulting instruction
===========================================
0: 0f 0b ud2
2: 4c 89 f0 mov %r14,%rax
5: 4c 89 f1 mov %r14,%rcx
8: 48 c1 e8 03 shr $0x3,%rax
c: 83 e1 07 and $0x7,%ecx
f: 0f b6 04 28 movzbl (%rax,%rbp,1),%eax
13: 38 c8 cmp %cl,%al
15: 7f .byte 0x7f
[ 184.355832][ T4597] RSP: 0018:ffffc9000b42fd40 EFLAGS: 00010046
[ 184.356091][ T4597] RAX: 0000000000000000 RBX: ffff8883475c2c40 RCX: 0000000000000004
[ 184.356368][ T4597] RDX: 1ffff11068eb859a RSI: 0000000000000000 RDI: 0000000000000000
[ 184.356644][ T4597] RBP: dffffc0000000000 R08: 0000000000000000 R09: 0000000000000001
[ 184.356923][ T4597] R10: ffff888143ec3847 R11: 0000000000000022 R12: ffffed1068eb86ae
[ 184.357214][ T4597] R13: ffffed1068eb86af R14: ffff8883475c3624 R15: ffff8883475c35d0
[ 184.357481][ T4597] FS: 00007fd1a24a8740(0000) GS:ffff888347580000(0000) knlGS:0000000000000000
[ 184.357784][ T4597] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 184.358024][ T4597] CR2: 00005642dfcc3548 CR3: 00000004117e8002 CR4: 00000000001706f0
[ 184.358293][ T4597] Call Trace:
[ 184.358476][ T4597] <TASK>
[ 184.358676][ T4597] ? __warn (kernel/panic.c:677)
[ 184.358896][ T4597] ? pick_task_dl (kernel/sched/deadline.c:2108 (discriminator 1))
[ 184.359130][ T4597] ? report_bug (lib/bug.c:180 lib/bug.c:219)
[ 184.359349][ T4597] ? handle_bug (arch/x86/kernel/traps.c:238)
[ 184.359585][ T4597] ? exc_invalid_op (arch/x86/kernel/traps.c:259 (discriminator 1))
[ 184.359807][ T4597] ? asm_exc_invalid_op (arch/x86/include/asm/idtentry.h:568)
[ 184.360040][ T4597] ? pick_task_dl (kernel/sched/deadline.c:2108 (discriminator 1))
[ 184.360268][ T4597] pick_next_task_dl (kernel/sched/deadline.c:2125)
[ 184.360485][ T4597] __schedule (kernel/sched/core.c:6054 kernel/sched/core.c:6545 kernel/sched/core.c:6691)
[ 184.360711][ T4597] ? io_schedule_timeout (kernel/sched/core.c:6608)
[ 184.360930][ T4597] ? put_timespec64 (kernel/time/time.c:904)
[ 184.361153][ T4597] ? __x64_sys_clock_gettime (kernel/time/posix-timers.c:1144 kernel/time/posix-timers.c:1132 kernel/time/posix-timers.c:1132)
[ 184.361403][ T4597] schedule (arch/x86/include/asm/preempt.h:84 kernel/sched/core.c:6803 kernel/sched/core.c:6817)
[ 184.361630][ T4597] syscall_exit_to_user_mode (kernel/entry/common.c:96 include/linux/entry-common.h:328 kernel/entry/common.c:201 kernel/entry/common.c:212)
[ 184.361883][ T4597] do_syscall_64 (arch/x86/entry/common.c:102)
[ 184.362109][ T4597] entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:129)
[ 184.362352][ T4597] RIP: 0033:0x7fd1a25ac719
[ 184.362566][ T4597] Code: 08 89 e8 5b 5d c3 66 2e 0f 1f 84 00 00 00 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d b7 06 0d 00 f7 d8 64 89 01 48
All code
========
0: 08 89 e8 5b 5d c3 or %cl,-0x3ca2a418(%rcx)
6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
d: 00 00 00
10: 90 nop
11: 48 89 f8 mov %rdi,%rax
14: 48 89 f7 mov %rsi,%rdi
17: 48 89 d6 mov %rdx,%rsi
1a: 48 89 ca mov %rcx,%rdx
1d: 4d 89 c2 mov %r8,%r10
20: 4d 89 c8 mov %r9,%r8
23: 4c 8b 4c 24 08 mov 0x8(%rsp),%r9
28: 0f 05 syscall
2a:* 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax <-- trapping instruction
30: 73 01 jae 0x33
32: c3 retq
33: 48 8b 0d b7 06 0d 00 mov 0xd06b7(%rip),%rcx # 0xd06f1
3a: f7 d8 neg %eax
3c: 64 89 01 mov %eax,%fs:(%rcx)
3f: 48 rex.W

Code starting with the faulting instruction
===========================================
0: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax
6: 73 01 jae 0x9
8: c3 retq
9: 48 8b 0d b7 06 0d 00 mov 0xd06b7(%rip),%rcx # 0xd06c7
10: f7 d8 neg %eax
12: 64 89 01 mov %eax,%fs:(%rcx)
15: 48 rex.W
[ 184.363083][ T4597] RSP: 002b:00007ffcb3621228 EFLAGS: 00000246 ORIG_RAX: 00000000000000e4
[ 184.363381][ T4597] RAX: 0000000000000000 RBX: 00007ffcb3621290 RCX: 00007fd1a25ac719
[ 184.363664][ T4597] RDX: 0000000000f52567 RSI: 00005642dfcc3548 RDI: 0000000000000004
[ 184.363940][ T4597] RBP: 00005642dfc8db00 R08: 00007ffcb3621290 R09: 00007ffcb3621290
[ 184.364221][ T4597] R10: 0000000000000001 R11: 0000000000000246 R12: 0000000000000004
[ 184.364494][ T4597] R13: 00005642dfc98069 R14: 00005642dfca9cb8 R15: 0000000000000000
[ 184.364775][ T4597] </TASK>
[ 184.364953][ T4597] ---[ end trace 0000000000000000 ]---


The kernel config and materials to reproduce are available at:
https://download.01.org/0day-ci/archive/20240228/[email protected]



--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki