tree: https://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-5.4.y-rt-rebase head: 964adfc6507208b201ce44e346375624b0b7a65a commit: a64ba411ef1f57d3b882a4429c28bdff5e12ca63 [125/282] mm/memcontrol: Don't call schedule_work_on in preemption disabled context config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 7.5.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross git checkout a64ba411ef1f57d3b882a4429c28bdff5e12ca63 # save the attached .config to linux build tree GCC_VERSION=7.5.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag Reported-by: kbuild test robot Note: the linux-rt-devel/linux-5.4.y-rt-rebase HEAD 964adfc6507208b201ce44e346375624b0b7a65a builds fine. It only hurts bisectibility. All errors (new ones prefixed by >>): In file included from arch/m68k/include/asm/atomic.h:7:0, from include/linux/atomic.h:7, from include/linux/page_counter.h:5, from mm/memcontrol.c:25: mm/memcontrol.c: In function '__invalidate_reclaim_iterators': arch/m68k/include/asm/cmpxchg.h:122:3: warning: value computed is not used [-Wunused-value] ((__typeof__(*(ptr)))__cmpxchg((ptr), (unsigned long)(o), \ ~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ (unsigned long)(n), sizeof(*(ptr)))) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ mm/memcontrol.c:1161:4: note: in expansion of macro 'cmpxchg' cmpxchg(&iter->position, ^~~~~~~ mm/memcontrol.c: In function 'drain_all_stock': >> mm/memcontrol.c:2268:11: error: implicit declaration of function 'get_cpu_light'; did you mean 'get_cpu_mask'? [-Werror=implicit-function-declaration] curcpu = get_cpu_light(); ^~~~~~~~~~~~~ get_cpu_mask >> mm/memcontrol.c:2289:2: error: implicit declaration of function 'put_cpu_light'; did you mean 'fput_light'? [-Werror=implicit-function-declaration] put_cpu_light(); ^~~~~~~~~~~~~ fput_light cc1: some warnings being treated as errors vim +2268 mm/memcontrol.c 2250 2251 /* 2252 * Drains all per-CPU charge caches for given root_memcg resp. subtree 2253 * of the hierarchy under it. 2254 */ 2255 static void drain_all_stock(struct mem_cgroup *root_memcg) 2256 { 2257 int cpu, curcpu; 2258 2259 /* If someone's already draining, avoid adding running more workers. */ 2260 if (!mutex_trylock(&percpu_charge_mutex)) 2261 return; 2262 /* 2263 * Notify other cpus that system-wide "drain" is running 2264 * We do not care about races with the cpu hotplug because cpu down 2265 * as well as workers from this path always operate on the local 2266 * per-cpu data. CPU up doesn't touch memcg_stock at all. 2267 */ > 2268 curcpu = get_cpu_light(); 2269 for_each_online_cpu(cpu) { 2270 struct memcg_stock_pcp *stock = &per_cpu(memcg_stock, cpu); 2271 struct mem_cgroup *memcg; 2272 bool flush = false; 2273 2274 rcu_read_lock(); 2275 memcg = stock->cached; 2276 if (memcg && stock->nr_pages && 2277 mem_cgroup_is_descendant(memcg, root_memcg)) 2278 flush = true; 2279 rcu_read_unlock(); 2280 2281 if (flush && 2282 !test_and_set_bit(FLUSHING_CACHED_CHARGE, &stock->flags)) { 2283 if (cpu == curcpu) 2284 drain_local_stock(&stock->work); 2285 else 2286 schedule_work_on(cpu, &stock->work); 2287 } 2288 } > 2289 put_cpu_light(); 2290 mutex_unlock(&percpu_charge_mutex); 2291 } 2292 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org