Hi Kirill, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on mmotm/master] [also build test WARNING on next-20180418] [cannot apply to v4.17-rc1] [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/Kirill-Tkhai/Improve-shrink_slab-scalability-old-complexity-was-O-n-2-new-is-O-n/20180418-184501 base: git://git.cmpxchg.org/linux-mmotm.git master config: x86_64-randconfig-x011-201815 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=x86_64 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 >>): mm/memcontrol.c: In function 'expand_shrinker_maps': >> mm/memcontrol.c:402:9: warning: 'ret' may be used uninitialized in this function [-Wmaybe-uninitialized] return ret; ^~~ vim +/ret +402 mm/memcontrol.c 377 378 int expand_shrinker_maps(int old_nr, int nr) 379 { 380 int id, size, old_size, node, ret; 381 struct mem_cgroup *memcg; 382 383 old_size = old_nr / BITS_PER_BYTE; 384 size = nr / BITS_PER_BYTE; 385 386 down_write(&shrinkers_max_nr_rwsem); 387 for_each_node(node) { 388 idr_for_each_entry(&mem_cgroup_idr, memcg, id) { 389 if (id == 1) 390 memcg = NULL; 391 ret = memcg_expand_maps(memcg, node, size, old_size); 392 if (ret) 393 goto unlock; 394 } 395 396 /* root_mem_cgroup is not initialized yet */ 397 if (id == 0) 398 ret = memcg_expand_maps(NULL, node, size, old_size); 399 } 400 unlock: 401 up_write(&shrinkers_max_nr_rwsem); > 402 return ret; 403 } 404 #else /* CONFIG_SLOB */ 405 static void get_shrinkers_max_nr(void) { } 406 static void put_shrinkers_max_nr(void) { } 407 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip