Re: [PATCH v8] mm: slub: move sysfs slab alloc/free interfaces to debugfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 6/1/21 1:08 PM, kernel test robot wrote:
> Hi Faiyaz,
> 
> Thank you for the patch! Yet something to improve:
> 
> [auto build test ERROR on linus/master]
> [also build test ERROR on v5.13-rc4]
> [cannot apply to hnaz-linux-mm/master next-20210601]
> [If your patch is applied to the wrong git tree, kindly drop us a note.
> And when submitting patch, we suggest to use '--base' as documented in
> https://git-scm.com/docs/git-format-patch]
> 
> url:    https://github.com/0day-ci/linux/commits/Faiyaz-Mohammed/mm-slub-move-sysfs-slab-alloc-free-interfaces-to-debugfs/20210601-180903
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git c2131f7e73c9e9365613e323d65c7b9e5b910f56
> config: i386-tinyconfig (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce (this is a W=1 build):
>         # https://github.com/0day-ci/linux/commit/9540acc4691d680b7124d8daa1a2eb98a97ee19a
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Faiyaz-Mohammed/mm-slub-move-sysfs-slab-alloc-free-interfaces-to-debugfs/20210601-180903
>         git checkout 9540acc4691d680b7124d8daa1a2eb98a97ee19a
>         # save the attached .config to linux build tree
>         make W=1 ARCH=i386 
> 
> If you fix the issue, kindly add following tag as appropriate
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
> 
> All errors (new ones prefixed by >>):
> 
>    mm/slab_common.c: In function 'slab_caches_to_rcu_destroy_workfn':
>>> mm/slab_common.c:452:3: error: implicit declaration of function 'debugfs_slab_release' [-Werror=implicit-function-declaration]
>      452 |   debugfs_slab_release(s);
>          |   ^~~~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors

Oh, right, CONFIG_SLOB.
How about moving the ifdef-ed declaration from slub-def.h to mm/slab.h and
discarding the slab-def.h empty one. That will take care of SLOB too.

> vim +/debugfs_slab_release +452 mm/slab_common.c
> 
>    427	
>    428	static void slab_caches_to_rcu_destroy_workfn(struct work_struct *work)
>    429	{
>    430		LIST_HEAD(to_destroy);
>    431		struct kmem_cache *s, *s2;
>    432	
>    433		/*
>    434		 * On destruction, SLAB_TYPESAFE_BY_RCU kmem_caches are put on the
>    435		 * @slab_caches_to_rcu_destroy list.  The slab pages are freed
>    436		 * through RCU and the associated kmem_cache are dereferenced
>    437		 * while freeing the pages, so the kmem_caches should be freed only
>    438		 * after the pending RCU operations are finished.  As rcu_barrier()
>    439		 * is a pretty slow operation, we batch all pending destructions
>    440		 * asynchronously.
>    441		 */
>    442		mutex_lock(&slab_mutex);
>    443		list_splice_init(&slab_caches_to_rcu_destroy, &to_destroy);
>    444		mutex_unlock(&slab_mutex);
>    445	
>    446		if (list_empty(&to_destroy))
>    447			return;
>    448	
>    449		rcu_barrier();
>    450	
>    451		list_for_each_entry_safe(s, s2, &to_destroy, list) {
>  > 452			debugfs_slab_release(s);
>    453			kfence_shutdown_cache(s);
>    454	#ifdef SLAB_SUPPORTS_SYSFS
>    455			sysfs_slab_release(s);
>    456	#else
>    457			slab_kmem_cache_release(s);
>    458	#endif
>    459		}
>    460	}
>    461	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> 





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux