Re: [PATCH 2/2] x86/idle: use dynamic halt poll

From: kbuild test robot
Date: Thu Jun 22 2017 - 18:46:59 EST


Hi Yang,

[auto build test WARNING on linus/master]
[also build test WARNING on v4.12-rc6]
[cannot apply to tip/x86/core next-20170622]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/root/x86-idle-add-halt-poll-for-halt-idle/20170623-061318
config: i386-randconfig-x016-06222129 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
# save the attached .config to linux build tree
make ARCH=i386

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

In file included from arch/x86/include/asm/preempt.h:5:0,
from include/linux/preempt.h:80,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/mm.h:9,
from arch/x86/kernel/process.c:5:
arch/x86/kernel/process.c: In function 'check_poll':
>> arch/x86/include/asm/percpu.h:109:3: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm(op "l %1,"__percpu_arg(0) \
^~~
arch/x86/kernel/process.c:351:15: note: 'val' was declared here
unsigned int val, poll_duration;
^~~
--
In file included from arch/x86/include/asm/preempt.h:5:0,
from include/linux/preempt.h:80,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:5,
from include/linux/mm.h:9,
from arch/x86//kernel/process.c:5:
arch/x86//kernel/process.c: In function 'check_poll':
>> arch/x86/include/asm/percpu.h:109:3: warning: 'val' may be used uninitialized in this function [-Wmaybe-uninitialized]
asm(op "l %1,"__percpu_arg(0) \
^~~
arch/x86//kernel/process.c:351:15: note: 'val' was declared here
unsigned int val, poll_duration;
^~~

vim +/val +109 arch/x86/include/asm/percpu.h

0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 93 pto_T__ pto_tmp__; \
0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 94 pto_tmp__ = (val); \
23b764d0 arch/x86/include/asm/percpu.h Andi Kleen 2010-06-10 95 (void)pto_tmp__; \
bc9e3be2 include/asm-x86/percpu.h Joe Perches 2008-03-23 96 } \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 97 switch (sizeof(var)) { \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 98 case 1: \
87b26406 arch/x86/include/asm/percpu.h Brian Gerst 2009-01-19 99 asm(op "b %1,"__percpu_arg(0) \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 100 : "+m" (var) \
0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 101 : "qi" ((pto_T__)(val))); \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 102 break; \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 103 case 2: \
87b26406 arch/x86/include/asm/percpu.h Brian Gerst 2009-01-19 104 asm(op "w %1,"__percpu_arg(0) \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 105 : "+m" (var) \
0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 106 : "ri" ((pto_T__)(val))); \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 107 break; \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 108 case 4: \
87b26406 arch/x86/include/asm/percpu.h Brian Gerst 2009-01-19 @109 asm(op "l %1,"__percpu_arg(0) \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 110 : "+m" (var) \
0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 111 : "ri" ((pto_T__)(val))); \
3334052a include/asm-x86/percpu.h travis@xxxxxxx 2008-01-30 112 break; \
9939ddaf arch/x86/include/asm/percpu.h Tejun Heo 2009-01-13 113 case 8: \
87b26406 arch/x86/include/asm/percpu.h Brian Gerst 2009-01-19 114 asm(op "q %1,"__percpu_arg(0) \
9939ddaf arch/x86/include/asm/percpu.h Tejun Heo 2009-01-13 115 : "+m" (var) \
0f5e4816 arch/x86/include/asm/percpu.h Tejun Heo 2009-10-29 116 : "re" ((pto_T__)(val))); \
9939ddaf arch/x86/include/asm/percpu.h Tejun Heo 2009-01-13 117 break; \

:::::: The code at line 109 was first introduced by commit
:::::: 87b264065880fa696c121dad8498a60524e0f6de x86-64: Use absolute displacements for per-cpu accesses.

:::::: TO: Brian Gerst <brgerst@xxxxxxxxx>
:::::: CC: Tejun Heo <tj@xxxxxxxxxx>

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip