tree:
https://github.com/alexshi/linux.git lrunext
head: 48d2e577853193ef6e4fa1e714fe0d333a26fa38
commit: 48d2e577853193ef6e4fa1e714fe0d333a26fa38 [27/27] mm/compaction: skip compaction if
any skip bit found in pageblock
config: c6x-randconfig-r003-20200812 (attached as .config)
compiler: c6x-elf-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 48d2e577853193ef6e4fa1e714fe0d333a26fa38
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=c6x
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/slab.h:15,
from lib//btree.c:43:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from lib//lzo/lzo1x_compress.c:15:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//lzo/lzo1x_compress.c: At top level:
lib//lzo/lzo1x_compress.c:304:5: warning: no previous prototype for
'lzogeneric1x_1_compress' [-Wmissing-prototypes]
304 | int lzogeneric1x_1_compress(const unsigned char *in, size_t in_len,
| ^~~~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from lib//zstd/compress.c:25:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//zstd/compress.c: At top level:
lib//zstd/compress.c:434:8: warning: no previous prototype for
'ZSTD_noCompressBlock' [-Wmissing-prototypes]
434 | size_t ZSTD_noCompressBlock(void *dst, size_t dstCapacity, const void *src,
size_t srcSize)
| ^~~~~~~~~~~~~~~~~~~~
lib//zstd/compress.c:2252:6: warning: no previous prototype for
'ZSTD_compressBlock_greedy_extDict' [-Wmissing-prototypes]
2252 | void ZSTD_compressBlock_greedy_extDict(ZSTD_CCtx *ctx, const void *src, size_t
srcSize) { ZSTD_compressBlock_lazy_extDict_generic(ctx, src, srcSize, 0, 0); }
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
lib//zstd/compress.c:2982:15: warning: no previous prototype for
'ZSTD_createCStream_advanced' [-Wmissing-prototypes]
2982 | ZSTD_CStream *ZSTD_createCStream_advanced(ZSTD_customMem customMem)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from lib//zstd/compress.c:23:
lib//zstd/zstd_internal.h:83:21: warning: 'ZSTD_did_fieldSize' defined but not
used [-Wunused-const-variable=]
83 | static const size_t ZSTD_did_fieldSize[4] = {0, 1, 2, 4};
| ^~~~~~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:82:21: warning: 'ZSTD_fcs_fieldSize' defined but not
used [-Wunused-const-variable=]
82 | static const size_t ZSTD_fcs_fieldSize[4] = {0, 2, 4, 8};
| ^~~~~~~~~~~~~~~~~~
In file included from lib//zstd/error_private.h:26,
from lib//zstd/bitstream.h:53,
from lib//zstd/fse.h:228,
from lib//zstd/compress.c:20:
include/linux/zstd.h:798:21: warning: 'ZSTD_skippableHeaderSize' defined but
not used [-Wunused-const-variable=]
798 | static const size_t ZSTD_skippableHeaderSize = 8;
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/zstd.h:795:21: warning: 'ZSTD_frameHeaderSize_min' defined but
not used [-Wunused-const-variable=]
795 | static const size_t ZSTD_frameHeaderSize_min = ZSTD_FRAMEHEADERSIZE_MIN;
| ^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/zstd.h:794:21: warning: 'ZSTD_frameHeaderSize_prefix' defined but
not used [-Wunused-const-variable=]
794 | static const size_t ZSTD_frameHeaderSize_prefix = 5;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from lib//zstd/decompress.c:37:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//zstd/decompress.c: At top level:
lib//zstd/decompress.c:126:12: warning: no previous prototype for
'ZSTD_createDCtx_advanced' [-Wmissing-prototypes]
126 | ZSTD_DCtx *ZSTD_createDCtx_advanced(ZSTD_customMem customMem)
| ^~~~~~~~~~~~~~~~~~~~~~~~
lib//zstd/decompress.c:394:8: warning: no previous prototype for
'ZSTD_getcBlockSize' [-Wmissing-prototypes]
394 | size_t ZSTD_getcBlockSize(const void *src, size_t srcSize, blockProperties_t
*bpPtr)
| ^~~~~~~~~~~~~~~~~~
lib//zstd/decompress.c:432:8: warning: no previous prototype for
'ZSTD_decodeLiteralsBlock' [-Wmissing-prototypes]
432 | size_t ZSTD_decodeLiteralsBlock(ZSTD_DCtx *dctx, const void *src, size_t
srcSize) /* note : srcSize < BLOCKSIZE */
| ^~~~~~~~~~~~~~~~~~~~~~~~
lib//zstd/decompress.c:794:8: warning: no previous prototype for
'ZSTD_decodeSeqHeaders' [-Wmissing-prototypes]
794 | size_t ZSTD_decodeSeqHeaders(ZSTD_DCtx *dctx, int *nbSeqPtr, const void *src,
size_t srcSize)
| ^~~~~~~~~~~~~~~~~~~~~
lib//zstd/decompress.c:1497:8: warning: no previous prototype for
'ZSTD_generateNxBytes' [-Wmissing-prototypes]
1497 | size_t ZSTD_generateNxBytes(void *dst, size_t dstCapacity, BYTE byte, size_t
length)
| ^~~~~~~~~~~~~~~~~~~~
In file included from lib//zstd/decompress.c:35:
lib//zstd/zstd_internal.h:124:18: warning: 'OF_defaultNormLog' defined but not
used [-Wunused-const-variable=]
124 | static const U32 OF_defaultNormLog = OF_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:122:18: warning: 'OF_defaultNorm' defined but not
used [-Wunused-const-variable=]
122 | static const S16 OF_defaultNorm[MaxOff + 1] = {1, 1, 1, 1, 1, 1, 2, 2, 2, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1};
| ^~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:120:18: warning: 'ML_defaultNormLog' defined but not
used [-Wunused-const-variable=]
120 | static const U32 ML_defaultNormLog = ML_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:117:18: warning: 'ML_defaultNorm' defined but not
used [-Wunused-const-variable=]
117 | static const S16 ML_defaultNorm[MaxML + 1] = {1, 4, 3, 2, 2, 2, 2, 2, 2, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
| ^~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:113:18: warning: 'LL_defaultNormLog' defined but not
used [-Wunused-const-variable=]
113 | static const U32 LL_defaultNormLog = LL_DEFAULTNORMLOG;
| ^~~~~~~~~~~~~~~~~
lib//zstd/zstd_internal.h:111:18: warning: 'LL_defaultNorm' defined but not
used [-Wunused-const-variable=]
111 | static const S16 LL_defaultNorm[MaxLL + 1] = {4, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2,
2, 2, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 1, 1, -1, -1, -1, -1};
| ^~~~~~~~~~~~~~
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from include/kunit/test.h:15,
from lib//kunit/test.c:9:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//kunit/test.c: In function 'kunit_log_append':
lib//kunit/test.c:51:2: warning: function 'kunit_log_append' might be a
candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
51 | vsnprintf(line, sizeof(line), fmt, args);
| ^~~~~~~~~
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/umh.h:4,
from include/linux/kmod.h:9,
from include/linux/module.h:16,
from include/kunit/test.h:15,
from lib//kunit/string-stream.c:9:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//kunit/string-stream.c: In function 'string_stream_vadd':
lib//kunit/string-stream.c:85:2: warning: function 'string_stream_vadd' might
be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
85 | len = vsnprintf(NULL, 0, fmt, args_for_counting) + 1;
| ^~~
lib//kunit/string-stream.c:95:2: warning: function 'string_stream_vadd' might
be a candidate for 'gnu_printf' format attribute [-Wsuggest-attribute=format]
95 | len = vsnprintf(frag_container->fragment, len, fmt, args);
| ^~~
--
In file included from include/linux/mmzone.h:18,
from include/linux/gfp.h:6,
from include/linux/xarray.h:14,
from include/linux/radix-tree.h:18,
from include/linux/fs.h:15,
from include/linux/debugfs.h:15,
from lib//kunit/debugfs.c:7:
include/linux/pageblock-flags.h: In function 'set_pageblock_skip':
> include/linux/pageblock-flags.h:88:1: warning: no return
statement in function returning non-void [-Wreturn-type]
88 | }
| ^
lib//kunit/debugfs.c: At top level:
lib//kunit/debugfs.c:28:6: warning: no previous prototype for
'kunit_debugfs_cleanup' [-Wmissing-prototypes]
28 | void kunit_debugfs_cleanup(void)
| ^~~~~~~~~~~~~~~~~~~~~
lib//kunit/debugfs.c:33:6: warning: no previous prototype for
'kunit_debugfs_init' [-Wmissing-prototypes]
33 | void kunit_debugfs_init(void)
| ^~~~~~~~~~~~~~~~~~
lib//kunit/debugfs.c:92:6: warning: no previous prototype for
'kunit_debugfs_create_suite' [-Wmissing-prototypes]
92 | void kunit_debugfs_create_suite(struct kunit_suite *suite)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
lib//kunit/debugfs.c:108:6: warning: no previous prototype for
'kunit_debugfs_destroy_suite' [-Wmissing-prototypes]
108 | void kunit_debugfs_destroy_suite(struct kunit_suite *suite)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
vim +88 include/linux/pageblock-flags.h
835c134ec4dd755 Mel Gorman 2007-10-16 56
dc4b0caff24d9b2 Mel Gorman 2014-06-04 57 unsigned long
get_pfnblock_flags_mask(struct page *page,
dc4b0caff24d9b2 Mel Gorman 2014-06-04 58 unsigned long pfn,
e58469bafd0524e Mel Gorman 2014-06-04 59 unsigned long mask);
dc4b0caff24d9b2 Mel Gorman 2014-06-04 60
48d2e577853193e Alex Shi 2020-08-12 61 bool set_pfnblock_flags_mask(struct page
*page,
e58469bafd0524e Mel Gorman 2014-06-04 62 unsigned long flags,
dc4b0caff24d9b2 Mel Gorman 2014-06-04 63 unsigned long pfn,
e58469bafd0524e Mel Gorman 2014-06-04 64 unsigned long mask);
e58469bafd0524e Mel Gorman 2014-06-04 65
835c134ec4dd755 Mel Gorman 2007-10-16 66 /* Declarations for getting and setting
flags. See mm/page_alloc.c */
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 67 #ifdef CONFIG_COMPACTION
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 68 #define get_pageblock_skip(page) \
490dec8720a68a0 Wei Yang 2020-08-01 69 get_pfnblock_flags_mask(page,
page_to_pfn(page), \
1dc78a9e4667486 Wei Yang 2020-08-01 70 (1 << (PB_migrate_skip)))
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 71 #define clear_pageblock_skip(page) \
490dec8720a68a0 Wei Yang 2020-08-01 72 set_pfnblock_flags_mask(page, 0,
page_to_pfn(page), \
1dc78a9e4667486 Wei Yang 2020-08-01 73 (1 << PB_migrate_skip))
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 74 #define set_pageblock_skip(page) \
490dec8720a68a0 Wei Yang 2020-08-01 75 set_pfnblock_flags_mask(page, (1 <<
PB_migrate_skip), \
490dec8720a68a0 Wei Yang 2020-08-01 76 page_to_pfn(page), \
1dc78a9e4667486 Wei Yang 2020-08-01 77 (1 << PB_migrate_skip))
21dc7e023611fbc David Rientjes 2017-11-17 78 #else
21dc7e023611fbc David Rientjes 2017-11-17 79 static inline bool
get_pageblock_skip(struct page *page)
21dc7e023611fbc David Rientjes 2017-11-17 80 {
21dc7e023611fbc David Rientjes 2017-11-17 81 return false;
21dc7e023611fbc David Rientjes 2017-11-17 82 }
21dc7e023611fbc David Rientjes 2017-11-17 83 static inline void
clear_pageblock_skip(struct page *page)
21dc7e023611fbc David Rientjes 2017-11-17 84 {
21dc7e023611fbc David Rientjes 2017-11-17 85 }
48d2e577853193e Alex Shi 2020-08-12 86 static inline bool
set_pageblock_skip(struct page *page)
21dc7e023611fbc David Rientjes 2017-11-17 87 {
21dc7e023611fbc David Rientjes 2017-11-17 @88 }
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 89 #endif /* CONFIG_COMPACTION */
bb13ffeb9f6bfeb Mel Gorman 2012-10-08 90
:::::: The code at line 88 was first introduced by commit
:::::: 21dc7e023611fbcf8e38f255731bcf3cc38e7638 mm, compaction: persistently skip
hugetlbfs pageblocks
:::::: TO: David Rientjes <rientjes(a)google.com>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org