double clock sched_features warnings msgs

From: Joe Lawrence
Date: Tue Aug 14 2018 - 15:01:23 EST


Hi Peter,

A QA tester here has noticed that he can regularly provoke a
"rq->clock_update_flags & RQCF_UPDATED" warning when echo'ing into the
debugfs sched_features file:

% echo WARN_DOUBLE_CLOCK > /sys/kernel/debug/sched_features

...

------------[ cut here ]------------
rq->clock_update_flags & RQCF_UPDATED
WARNING: CPU: 31 PID: 2052 at kernel/sched/core.c:203
update_rq_clock+0xdc/0x120
Modules linked in: sunrpc intel_rapl sb_edac x86_pkg_temp_thermal
intel_powerclamp coretemp kvm_intel kvm irqbypass ipmi_ssif
crct10dif_pclmul crc32_pclmul ghash_clmulni_intel intel_cstate
intel_uncore pcspkr sg intel_rapl_perf ipmi_si iTCO_wdt
iTCO_vendor_support ioatdma ipmi_devintf wmi i2c_i801 ipmi_msghandler
lpc_ich ip_tables xfs libcrc32c sr_mod cdrom sd_mod mgag200
drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops ttm isci
drm igb libsas ahci libahci ptp scsi_transport_sas crc32c_intel libata
pps_core dca i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod
CPU: 31 PID: 2052 Comm: (crond) Not tainted 4.18.0 #1
Hardware name: Intel Corporation SandyBridge Platform/To be filled by
O.E.M., BIOS RMLSDP.86I.R2.28.D690.1306271008 06/27/2013
RIP: 0010:update_rq_clock+0xdc/0x120
Code: a8 04 0f 84 65 ff ff ff 80 3d 31 1a 11 01 00 0f 85 58 ff ff ff 48
c7 c7 f0 38 e6 81 31 c0 c6 05 1b 1a 11 01 01 e8 74 3d fd ff <0f> 0b 8b
83 b0 09 00 00 e9 36 ff ff ff e8 72 75 f8 ff 66 90 4c 8b
RSP: 0018:ffffc90004e13e90 EFLAGS: 00010086
RAX: 0000000000000000 RBX: ffff88042ea220c0 RCX: 0000000000000006
RDX: 0000000000000000 RSI: 0000000000000096 RDI: ffff88042eed6990
RBP: 0000000000000000 R08: 0000000000000025 R09: 0000000000000550
R10: 0000000000000000 R11: 0000000000000000 R12: ffff880429bb9200
R13: ffff880425264e00 R14: 00000000000220c0 R15: 0000000000000000
FS: 00007f5bb544c940(0000) GS:ffff88042eec0000(0000) knlGS:0000000000000000
CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 00007f5bb3f59d40 CR3: 00000004264e4004 CR4: 00000000001606e0
Call Trace:
online_fair_sched_group+0x53/0x110
sched_autogroup_create_attach+0xba/0x170
ksys_setsid+0xe7/0x100
__ia32_sys_setsid+0xa/0x10
do_syscall_64+0x5b/0x180
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7f5bb3c42107
Code: 73 01 c3 48 8b 0d 89 fd 2f 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e
0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 b8 70 00 00 00 0f 05 <48> 3d 01
f0 ff ff 73 01 c3 48 8b 0d 59 fd 2f 00 f7 d8 64 89 01 48
RSP: 002b:00007ffd3fa6a638 EFLAGS: 00000246 ORIG_RAX: 0000000000000070
RAX: ffffffffffffffda RBX: 0000557397d52b68 RCX: 00007f5bb3c42107
RDX: 00007f5bb3f427b8 RSI: 0000000000000000 RDI: 000000000000000f
RBP: 00007ffd3fa6a8a0 R08: 0000000000000001 R09: 0000557397ec84a5
R10: 000000000000003b R11: 0000000000000246 R12: 00001fff4fe9a99c
R13: 00007ffd3fa6a670 R14: 0000000000000000 R15: 00007ffd3fa6aa80
---[ end trace b5859b81be7e7db1 ]---

WARN_DOUBLE_CLOCK's definition in kernel/sched/features.h states that it
is "Default disabled because the annotations are not complete". Should
we expect such warnings (false positives?) until some further work is
complete? Just trying to figure out if these msgs are interesting or not.

Thanks,

-- Joe