Re: [mmotm:master 210/397] mm/zsmalloc.c:1021:11: error: 'ZS_SIZE_CLASSES' undeclared

Ganesh Mahendran
2014-11-27T13:13:26Z

Hello, Fengguang:

2014-11-27 11:49 GMT+08:00 kbuild test robot <fengguang.wu@intel.com>:
> tree: git://git.cmpxchg.org/linux-mmotm.git master
> head: a2d887dee78e23dc092ff14ae2ad22592437a328
> commit: 304e521b912aa95514a5b66f7d6795d096f15535 [210/397] mm/zsmalloc: support allocating obj with size of ZS_MAX_ALLOC_SIZE
> config: x86_64-randconfig-c2-1109 (attached as .config)
> reproduce:
> git checkout 304e521b912aa95514a5b66f7d6795d096f15535
> # save the attached .config to linux build tree
> make ARCH=x86_64

I build the code based on mmotm-2014-11-26-15-45. It is OK.

$ git log --oneline mm/zsmalloc.c
dd0c2fe mm/zsmalloc: avoid duplicate assignment of prev_class
570fa7e mm/zsmalloc: support allocating obj with size of ZS_MAX_ALLOC_SIZE
5971356 zsmalloc: correct fragile [kmap|kunmap]_atomic use
29d6ab4 zsmalloc-fix-zs_init-cpu-notifier-error-handling-fix
58038f5a zsmalloc-fix-zs_init-cpu-notifier-error-handling-fix-2
ebc3b45 zsmalloc: fix zs_init cpu notifier error handling
890754a2 zsmalloc: merge size_class to reduce fragmentation
202c8f0 zsmalloc: simplify init_zspage free obj linking
a32a745 mm/zsmalloc.c: correct comment for fullness group computation
1faf944 zsmalloc: change return value unit of zs_get_total_size_bytes
440b6d5 zsmalloc: move pages_allocated to zs_pool
137f8cf mm/zpool: use prefixed module loading
c795779 mm/zpool: zbud/zsmalloc implement zpool
af8d417 mm/zpool: implement common zpool api to zbud/zsmalloc
f6f8ed4 mm/vmalloc.c: clean up map_vm_area third argument
7eb5251 zsmalloc: fixup trivial zs size classes value in comments
7c8e018 mm: replace __get_cpu_var uses with this_cpu_ptr
f0e71fc zsmalloc: Fix CPU hotplug callback registration
31fc00b zsmalloc: add copyright
bcf1647 zsmalloc: move it under mm

I do not know why the building on
*git://git.cmpxchg.org/linux-mmotm.git master* failed.
I am now cloning code from git://git.cmpxchg.org/linux-mmotm.git. I
will try later.

Thanks.

> Note: the mmotm/master HEAD a2d887dee78e23dc092ff14ae2ad22592437a328 builds fine.
> It only hurts bisectibility.
>
> All error/warnings:
>
> mm/zsmalloc.c: In function 'zs_create_pool':
>>> mm/zsmalloc.c:1021:11: error: 'ZS_SIZE_CLASSES' undeclared (first use in this function)
> if (i < ZS_SIZE_CLASSES - 1) {
> ^
> mm/zsmalloc.c:1021:11: note: each undeclared identifier is reported only once for each function it appears in
>
> vim +/ZS_SIZE_CLASSES +1021 mm/zsmalloc.c
>
> 62a4dc89 Joonsoo Kim 2014-11-27 1015 * have one size_class for each size, there is a chance that we
> 62a4dc89 Joonsoo Kim 2014-11-27 1016 * can get more memory utilization if we use one size_class for
> 62a4dc89 Joonsoo Kim 2014-11-27 1017 * many different sizes whose size_class have same
> 62a4dc89 Joonsoo Kim 2014-11-27 1018 * characteristics. So, we makes size_class point to
> 62a4dc89 Joonsoo Kim 2014-11-27 1019 * previous size_class if possible.
> 62a4dc89 Joonsoo Kim 2014-11-27 1020 */
> 62a4dc89 Joonsoo Kim 2014-11-27 @1021 if (i < ZS_SIZE_CLASSES - 1) {
> 62a4dc89 Joonsoo Kim 2014-11-27 1022 prev_class = pool->size_class[i + 1];
> 62a4dc89 Joonsoo Kim 2014-11-27 1023 if (can_merge(prev_class, size, pages_per_zspage)) {
> 62a4dc89 Joonsoo Kim 2014-11-27 1024 pool->size_class[i] = prev_class;
>
> :::::: The code at line 1021 was first introduced by commit
> :::::: 62a4dc89f79363e2456ce2fc68e5719ef528893f zsmalloc: merge size_class to reduce fragmentation
>
> :::::: TO: Joonsoo Kim <iamjoonsoo.kim@lge.com>
> :::::: CC: Johannes Weiner <hannes@cmpxchg.org>
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> http://lists.01.org/mailman/listinfo/kbuild Intel Corporation