On Mon 16-05-16 15:36:56, Andrew Morton wrote:
> On Mon, 16 May 2016 16:23:33 +0200 Michal Hocko <mho...@kernel.org> wrote:
> 
> > Andrew, I think that the following is more straightforward fix and
> > should be folded in to the patch which has introduced vmstat_refresh.
> > ---
> > >From b8dd18fb7df040e1bfe61aadde1d903589de15e4 Mon Sep 17 00:00:00 2001
> > From: Michal Hocko <mho...@suse.com>
> > Date: Mon, 16 May 2016 16:19:53 +0200
> > Subject: [PATCH] mmotm: 
> > mm-proc-sys-vm-stat_refresh-to-force-vmstat-update-fix
> > 
> > Arnd has reported:
> > In randconfig builds with sysfs, procfs and numa all disabled,
> > but SMP enabled, we now get a link error in the newly introduced
> > vmstat_refresh function:
> > 
> > mm/built-in.o: In function `vmstat_refresh':
> > :(.text+0x15c78): undefined reference to `vmstat_text'
> > 
> > vmstat_refresh is proc_fs specific so there is no reason to define it
> > when !CONFIG_PROC_FS.
> 
> I already had this:
> 
> From: Christoph Lameter <c...@linux.com>
> Subject: Do not build vmstat_refresh if there is no procfs support
> 
> It makes no sense to build functionality into the kernel that
> cannot be used and causes build issues.
> 
> Link: 
> http://lkml.kernel.org/r/alpine.deb.2.20.1605111011260.9...@east.gentwo.org
> Signed-off-by: Christoph Lameter <c...@linux.com>
> Reported-by: Arnd Bergmann <a...@arndb.de>
> Signed-off-by: Andrew Morton <a...@linux-foundation.org>

But this is broken:
http://lkml.kernel.org/r/20160516073144.ga23...@dhcp22.suse.cz and
kbuild robot agrees
http://lkml.kernel.org/r/201605171333.anqjcwpy%fengguang...@intel.com
> ---
> 
>  mm/vmstat.c |    4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff -puN mm/vmstat.c~mm-proc-sys-vm-stat_refresh-to-force-vmstat-update-fix 
> mm/vmstat.c
> --- a/mm/vmstat.c~mm-proc-sys-vm-stat_refresh-to-force-vmstat-update-fix
> +++ a/mm/vmstat.c
> @@ -1371,7 +1371,6 @@ static const struct file_operations proc
>       .llseek         = seq_lseek,
>       .release        = seq_release,
>  };
> -#endif /* CONFIG_PROC_FS */
>  
>  #ifdef CONFIG_SMP
>  static struct workqueue_struct *vmstat_wq;
> @@ -1436,7 +1435,10 @@ int vmstat_refresh(struct ctl_table *tab
>               *lenp = 0;
>       return 0;
>  }
> +#endif /* CONFIG_SMP */
> +#endif /* CONFIG_PROC_FS */
>  
> +#ifdef CONFIG_SMP
>  static void vmstat_update(struct work_struct *w)
>  {
>       if (refresh_cpu_vm_stats(true)) {
> _

-- 
Michal Hocko
SUSE Labs

Reply via email to