Re: [memcg:since-4.12 539/540] mm/compaction.c:469:8: error: implicit declaration of function 'pageblock_skip_persistent'

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

 



On Fri 18-08-17 14:03:00, Andrew Morton wrote:
> On Fri, 18 Aug 2017 12:57:48 -0400 Waiman Long <longman@xxxxxxxxxx> wrote:
> 
> > On 08/18/2017 12:42 PM, kbuild test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/mhocko/mm.git since-4.12
> > > head:   ba5e8c23db5729ebdbafad983b07434c829cf5b6
> > > commit: 500539d3686a835f6a9740ffc38bed5d74951a64 [539/540] debugobjects: make kmemleak ignore debug objects
> > > config: i386-randconfig-s0-08141822 (attached as .config)
> > > compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
> > > reproduce:
> > >         git checkout 500539d3686a835f6a9740ffc38bed5d74951a64
> > >         # save the attached .config to linux build tree
> > >         make ARCH=i386 
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > >    mm/compaction.c: In function 'isolate_freepages_block':
> > >>> mm/compaction.c:469:8: error: implicit declaration of function 'pageblock_skip_persistent' [-Werror=implicit-function-declaration]
> > >        if (pageblock_skip_persistent(page, order)) {
> > >            ^~~~~~~~~~~~~~~~~~~~~~~~~
> > >>> mm/compaction.c:470:5: error: implicit declaration of function 'set_pageblock_skip' [-Werror=implicit-function-declaration]
> > >         set_pageblock_skip(page);
> > >         ^~~~~~~~~~~~~~~~~~
> > >    cc1: some warnings being treated as errors
> > >
> > > vim +/pageblock_skip_persistent +469 mm/compaction.c
> > 
> > It is not me. My patch doesn't touch any header file and
> > mm/compaction.c. So it can't cause this kind of errors.
> > 
> 
> Yes, that's wrong.  It's David's "mm, compaction: persistently skip
> hugetlbfs pageblocks".  I'll do this:

David has already posted the fix
http://lkml.kernel.org/r/alpine.DEB.2.10.1708201734390.117182@xxxxxxxxxxxxxxxxxxxxxxxxx
 
> --- a/mm/compaction.c~mm-compaction-persistently-skip-hugetlbfs-pageblocks-fix
> +++ a/mm/compaction.c
> @@ -327,6 +327,11 @@ static void update_pageblock_skip(struct
>  			bool migrate_scanner)
>  {
>  }
> +
> +static bool pageblock_skip_persistent(struct page *page, unsigned int order)
> +{
> +	return false;
> +}
>  #endif /* CONFIG_COMPACTION */
>  
>  /*
> --- a/include/linux/pageblock-flags.h~mm-compaction-persistently-skip-hugetlbfs-pageblocks-fix
> +++ a/include/linux/pageblock-flags.h
> @@ -96,6 +96,8 @@ void set_pfnblock_flags_mask(struct page
>  #define set_pageblock_skip(page) \
>  			set_pageblock_flags_group(page, 1, PB_migrate_skip,  \
>  							PB_migrate_skip)
> +#else
> +#define set_pageblock_skip(page) do { } while (0)
>  #endif /* CONFIG_COMPACTION */
>  
>  #endif	/* PAGEBLOCK_FLAGS_H */
> 
> Those macros in pageblock-flags.h are obnoxious and reference their
> args multiple times.  I'll see what happens if they're turned into C
> functions...

-- 
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 OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]
  Powered by Linux