On Tue, 17 May 2016, Michal Hocko wrote: > 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
Sorry for my noise, sorry for my silence, thanks to Arnd and everyone for chipping in. But now I try it, I find that even Michal's is not quite right: if you build without CONFIG_PROC_FS, then it gives you mm/vmstat.c:1381:13: warning: `refresh_vm_stats' defined but not used [-Wunused-function] (well, that was on a tree with different line numbering). So here's my attempt... Signed-off-by: Hugh Dickins <hu...@google.com> --- Fix to merge into mm-proc-sys-vm-stat_refresh-to-force-vmstat-update.patch mm/vmstat.c | 2 ++ 1 file changed, 2 insertions(+) --- 4.6-rc7-mm1/mm/vmstat.c 2016-05-14 08:29:10.609386264 -0700 +++ linux/mm/vmstat.c 2016-05-17 17:43:02.861862648 -0700 @@ -1365,6 +1365,7 @@ static struct workqueue_struct *vmstat_w static DEFINE_PER_CPU(struct delayed_work, vmstat_work); int sysctl_stat_interval __read_mostly = HZ; +#ifdef CONFIG_PROC_FS static void refresh_vm_stats(struct work_struct *work) { refresh_cpu_vm_stats(true); @@ -1422,6 +1423,7 @@ int vmstat_refresh(struct ctl_table *tab *lenp = 0; return 0; } +#endif /* CONFIG_PROC_FS */ static void vmstat_update(struct work_struct *w) {