tree: git://git.cmpxchg.org/linux-mmotm.git master head: 90fbe8d8441dfa4fc00ac1bc49bc695ec2659b8e commit: 5c3cf7b159aee92080899618bd0b578db6c0de85 [201/309] mm: move vmscan writes and file write accounting to the node config: arm-allnoconfig (attached as .config) compiler: arm-linux-gnueabi-gcc (Debian 5.3.1-8) 5.3.1 20160205 reproduce: wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout 5c3cf7b159aee92080899618bd0b578db6c0de85 # save the attached .config to linux build tree make.cross ARCH=arm All warnings (new ones prefixed by >>): In file included from arch/arm/include/asm/atomic.h:15:0, from include/linux/atomic.h:4, from include/linux/spinlock.h:406, from include/linux/wait.h:8, from include/linux/fs.h:5, from include/linux/dax.h:4, from mm/filemap.c:14: mm/filemap.c: In function '__delete_from_page_cache': include/linux/prefetch.h:42:22: warning: array subscript is above array bounds [-Warray-bounds] #define prefetchw(x) __builtin_prefetch(x,1) ^ >> arch/arm/include/asm/atomic.h:47:2: note: in expansion of macro 'prefetchw' prefetchw(&v->counter); \ ^ >> arch/arm/include/asm/atomic.h:189:2: note: in expansion of macro 'ATOMIC_OP' ATOMIC_OP(op, c_op, asm_op) \ ^ >> arch/arm/include/asm/atomic.h:192:1: note: in expansion of macro 'ATOMIC_OPS' ATOMIC_OPS(add, +=, add) ^ include/linux/prefetch.h:42:22: warning: array subscript is above array bounds [-Warray-bounds] #define prefetchw(x) __builtin_prefetch(x,1) ^ >> arch/arm/include/asm/atomic.h:47:2: note: in expansion of macro 'prefetchw' prefetchw(&v->counter); \ ^ >> arch/arm/include/asm/atomic.h:189:2: note: in expansion of macro 'ATOMIC_OP' ATOMIC_OP(op, c_op, asm_op) \ ^ >> arch/arm/include/asm/atomic.h:192:1: note: in expansion of macro 'ATOMIC_OPS' ATOMIC_OPS(add, +=, add) ^ vim +/prefetchw +47 arch/arm/include/asm/atomic.h aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 41 #define ATOMIC_OP(op, c_op, asm_op) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 42 static inline void atomic_##op(int i, atomic_t *v) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 43 { \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 44 unsigned long tmp; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 45 int result; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 46 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 @47 prefetchw(&v->counter); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 48 __asm__ __volatile__("@ atomic_" #op "\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 49 "1: ldrex %0, [%3]\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 50 " " #asm_op " %0, %0, %4\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 51 " strex %1, %0, [%3]\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 52 " teq %1, #0\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 53 " bne 1b" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 54 : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 55 : "r" (&v->counter), "Ir" (i) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 56 : "cc"); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 57 } \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 58 aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 59 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 60 static inline int atomic_##op##_return_relaxed(int i, atomic_t *v) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 61 { \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 62 unsigned long tmp; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 63 int result; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 64 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 65 prefetchw(&v->counter); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 66 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 67 __asm__ __volatile__("@ atomic_" #op "_return\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 68 "1: ldrex %0, [%3]\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 69 " " #asm_op " %0, %0, %4\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 70 " strex %1, %0, [%3]\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 71 " teq %1, #0\n" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 72 " bne 1b" \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 73 : "=&r" (result), "=&r" (tmp), "+Qo" (v->counter) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 74 : "r" (&v->counter), "Ir" (i) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 75 : "cc"); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 76 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 77 return result; \ ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 78 } ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 79 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 80 #define atomic_add_return_relaxed atomic_add_return_relaxed 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 81 #define atomic_sub_return_relaxed atomic_sub_return_relaxed 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 82 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 83 static inline int atomic_cmpxchg_relaxed(atomic_t *ptr, int old, int new) 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 84 { 4dcc1cf73 arch/arm/include/asm/atomic.h Chen Gang 2013-10-26 85 int oldval; 4dcc1cf73 arch/arm/include/asm/atomic.h Chen Gang 2013-10-26 86 unsigned long res; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 87 c32ffce0f arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 88 prefetchw(&ptr->counter); bac4e960b arch/arm/include/asm/atomic.h Russell King 2009-05-25 89 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 90 do { 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 91 __asm__ __volatile__("@ atomic_cmpxchg\n" 398aa6682 arch/arm/include/asm/atomic.h Will Deacon 2010-07-08 92 "ldrex %1, [%3]\n" a7d068336 include/asm-arm/atomic.h Nicolas Pitre 2005-11-16 93 "mov %0, #0\n" 398aa6682 arch/arm/include/asm/atomic.h Will Deacon 2010-07-08 94 "teq %1, %4\n" 398aa6682 arch/arm/include/asm/atomic.h Will Deacon 2010-07-08 95 "strexeq %0, %5, [%3]\n" 398aa6682 arch/arm/include/asm/atomic.h Will Deacon 2010-07-08 96 : "=&r" (res), "=&r" (oldval), "+Qo" (ptr->counter) 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 97 : "r" (&ptr->counter), "Ir" (old), "r" (new) 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 98 : "cc"); 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 99 } while (res); 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 100 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 101 return oldval; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 102 } 0ca326de7 arch/arm/include/asm/atomic.h Will Deacon 2015-08-06 103 #define atomic_cmpxchg_relaxed atomic_cmpxchg_relaxed 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 104 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 105 static inline int __atomic_add_unless(atomic_t *v, int a, int u) db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 106 { db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 107 int oldval, newval; db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 108 unsigned long tmp; db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 109 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 110 smp_mb(); db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 111 prefetchw(&v->counter); db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 112 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 113 __asm__ __volatile__ ("@ atomic_add_unless\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 114 "1: ldrex %0, [%4]\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 115 " teq %0, %5\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 116 " beq 2f\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 117 " add %1, %0, %6\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 118 " strex %2, %1, [%4]\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 119 " teq %2, #0\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 120 " bne 1b\n" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 121 "2:" db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 122 : "=&r" (oldval), "=&r" (newval), "=&r" (tmp), "+Qo" (v->counter) db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 123 : "r" (&v->counter), "r" (u), "r" (a) db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 124 : "cc"); db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 125 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 126 if (oldval != u) db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 127 smp_mb(); db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 128 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 129 return oldval; db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 130 } db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 131 ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 132 #else /* ARM_ARCH_6 */ ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 133 ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 134 #ifdef CONFIG_SMP ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 135 #error SMP not supported on pre-ARMv6 CPUs ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 136 #endif ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 137 aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 138 #define ATOMIC_OP(op, c_op, asm_op) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 139 static inline void atomic_##op(int i, atomic_t *v) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 140 { \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 141 unsigned long flags; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 142 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 143 raw_local_irq_save(flags); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 144 v->counter c_op i; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 145 raw_local_irq_restore(flags); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 146 } \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 147 aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 148 #define ATOMIC_OP_RETURN(op, c_op, asm_op) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 149 static inline int atomic_##op##_return(int i, atomic_t *v) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 150 { \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 151 unsigned long flags; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 152 int val; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 153 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 154 raw_local_irq_save(flags); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 155 v->counter c_op i; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 156 val = v->counter; \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 157 raw_local_irq_restore(flags); \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 158 \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 159 return val; \ ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 160 } ^1da177e4 include/asm-arm/atomic.h Linus Torvalds 2005-04-16 161 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 162 static inline int atomic_cmpxchg(atomic_t *v, int old, int new) 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 163 { 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 164 int ret; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 165 unsigned long flags; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 166 8dd5c845b include/asm-arm/atomic.h Lennert Buytenhek 2006-09-16 167 raw_local_irq_save(flags); 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 168 ret = v->counter; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 169 if (likely(ret == old)) 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 170 v->counter = new; 8dd5c845b include/asm-arm/atomic.h Lennert Buytenhek 2006-09-16 171 raw_local_irq_restore(flags); 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 172 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 173 return ret; 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 174 } 4a6dae6d3 include/asm-arm/atomic.h Nick Piggin 2005-11-13 175 f24219b4e arch/arm/include/asm/atomic.h Arun Sharma 2011-07-26 176 static inline int __atomic_add_unless(atomic_t *v, int a, int u) 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 177 { 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 178 int c, old; 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 179 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 180 c = atomic_read(v); 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 181 while (c != u && (old = atomic_cmpxchg((v), c, c + a)) != c) 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 182 c = old; f24219b4e arch/arm/include/asm/atomic.h Arun Sharma 2011-07-26 183 return c; 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 184 } 8426e1f6a include/asm-arm/atomic.h Nick Piggin 2005-11-13 185 db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 186 #endif /* __LINUX_ARM_ARCH__ */ db38ee874 arch/arm/include/asm/atomic.h Will Deacon 2014-02-21 187 aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 188 #define ATOMIC_OPS(op, c_op, asm_op) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 @189 ATOMIC_OP(op, c_op, asm_op) \ aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 190 ATOMIC_OP_RETURN(op, c_op, asm_op) aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 191 aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 @192 ATOMIC_OPS(add, +=, add) aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 193 ATOMIC_OPS(sub, -=, sub) aee9a5545 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-03-23 194 125897908 arch/arm/include/asm/atomic.h Peter Zijlstra 2014-04-23 195 #define atomic_andnot atomic_andnot :::::: The code at line 47 was first introduced by commit :::::: aee9a55452f0371258e18b41649ce650ff344090 locking,arch,arm: Fold atomic_ops :::::: TO: Peter Zijlstra <peterz@xxxxxxxxxxxxx> :::::: CC: Ingo Molnar <mingo@xxxxxxxxxx> --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: Binary data