Hi,

On 18.04.2018 15:55, kbuild test robot wrote:
> 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;>             ^~~

thanks for reporting this. Actually in terms of kernel it's a false positive
(since this function is called at time, when for_each_node() iterates not empty
list), but of course, I'll add ret initialization to silence the compiler.

This should not prevent the review of the patchset, so I'm waiting for people's
comments about it before resending v3.

> 
> 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

Kirill

Reply via email to