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