Re: [PATCH] mm: unhide vmstat_text definition for CONFIG_SMP

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

 



On Mon 16-05-16 15:36:56, Andrew Morton wrote:
> On Mon, 16 May 2016 16:23:33 +0200 Michal Hocko <mhocko@xxxxxxxxxx> 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 <mhocko@xxxxxxxx>
> > 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 <cl@xxxxxxxxx>
> 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.9351@xxxxxxxxxxxxxxx
> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>
> Reported-by: Arnd Bergmann <arnd@xxxxxxxx>
> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>

But this is broken:
http://lkml.kernel.org/r/20160516073144.GA23146@xxxxxxxxxxxxxx and
kbuild robot agrees
http://lkml.kernel.org/r/201605171333.ANqJcwpy%fengguang.wu@xxxxxxxxx
> ---
> 
>  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

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



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