[willy-pagecache:for-next 12/75] mm/hugetlb.c:1323:10: error: 'struct page' has no member named 'compound_nr'; did you mean 'compound_dtor'?

From: kernel test robot
Date: Sat Feb 05 2022 - 03:55:31 EST


tree: git://git.infradead.org/users/willy/pagecache for-next
head: 69178cc72889fc46880322c250dfd7546f66cc2c
commit: d47177a50ad8d30bb952949f8a6cc1809d7c74df [12/75] mm: Make compound_pincount always available
config: i386-randconfig-a005 (https://download.01.org/0day-ci/archive/20220205/202202051611.dqFyOKso-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add willy-pagecache git://git.infradead.org/users/willy/pagecache
git fetch --no-tags willy-pagecache for-next
git checkout d47177a50ad8d30bb952949f8a6cc1809d7c74df
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 SHELL=/bin/bash

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All errors (new ones prefixed by >>):

mm/hugetlb.c: In function '__destroy_compound_gigantic_page':
>> mm/hugetlb.c:1323:10: error: 'struct page' has no member named 'compound_nr'; did you mean 'compound_dtor'?
1323 | page[1].compound_nr = 0;
| ^~~~~~~~~~~
| compound_dtor
mm/hugetlb.c: In function '__prep_compound_gigantic_page':
mm/hugetlb.c:1815:10: error: 'struct page' has no member named 'compound_nr'; did you mean 'compound_dtor'?
1815 | page[1].compound_nr = 0;
| ^~~~~~~~~~~
| compound_dtor


vim +1323 mm/hugetlb.c

1cac6f2c072abe Luiz Capitulino 2014-06-04 1291
1cac6f2c072abe Luiz Capitulino 2014-06-04 1292 #define for_each_node_mask_to_alloc(hs, nr_nodes, node, mask) \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1293 for (nr_nodes = nodes_weight(*mask); \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1294 nr_nodes > 0 && \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1295 ((node = hstate_next_node_to_alloc(hs, mask)) || 1); \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1296 nr_nodes--)
1cac6f2c072abe Luiz Capitulino 2014-06-04 1297
1cac6f2c072abe Luiz Capitulino 2014-06-04 1298 #define for_each_node_mask_to_free(hs, nr_nodes, node, mask) \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1299 for (nr_nodes = nodes_weight(*mask); \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1300 nr_nodes > 0 && \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1301 ((node = hstate_next_node_to_free(hs, mask)) || 1); \
1cac6f2c072abe Luiz Capitulino 2014-06-04 1302 nr_nodes--)
1cac6f2c072abe Luiz Capitulino 2014-06-04 1303
8531fc6f52f5fc Mike Kravetz 2021-11-05 1304 /* used to demote non-gigantic_huge pages as well */
34d9e35b13d560 Mike Kravetz 2021-11-05 1305 static void __destroy_compound_gigantic_page(struct page *page,
34d9e35b13d560 Mike Kravetz 2021-11-05 1306 unsigned int order, bool demote)
944d9fec8d7aee Luiz Capitulino 2014-06-04 1307 {
944d9fec8d7aee Luiz Capitulino 2014-06-04 1308 int i;
944d9fec8d7aee Luiz Capitulino 2014-06-04 1309 int nr_pages = 1 << order;
944d9fec8d7aee Luiz Capitulino 2014-06-04 1310 struct page *p = page + 1;
944d9fec8d7aee Luiz Capitulino 2014-06-04 1311
c8cc708a340cc7 Gerald Schaefer 2016-06-24 1312 atomic_set(compound_mapcount_ptr(page), 0);
47e29d32afba11 John Hubbard 2020-04-01 1313 atomic_set(compound_pincount_ptr(page), 0);
47e29d32afba11 John Hubbard 2020-04-01 1314
944d9fec8d7aee Luiz Capitulino 2014-06-04 1315 for (i = 1; i < nr_pages; i++, p = mem_map_next(p, page, i)) {
a01f43901cfb93 Mike Kravetz 2021-11-05 1316 p->mapping = NULL;
1d798ca3f16437 Kirill A. Shutemov 2015-11-06 1317 clear_compound_head(p);
34d9e35b13d560 Mike Kravetz 2021-11-05 1318 if (!demote)
944d9fec8d7aee Luiz Capitulino 2014-06-04 1319 set_page_refcounted(p);
944d9fec8d7aee Luiz Capitulino 2014-06-04 1320 }
944d9fec8d7aee Luiz Capitulino 2014-06-04 1321
944d9fec8d7aee Luiz Capitulino 2014-06-04 1322 set_compound_order(page, 0);
ba9c1201beaa86 Gerald Schaefer 2020-12-11 @1323 page[1].compound_nr = 0;
944d9fec8d7aee Luiz Capitulino 2014-06-04 1324 __ClearPageHead(page);
944d9fec8d7aee Luiz Capitulino 2014-06-04 1325 }
944d9fec8d7aee Luiz Capitulino 2014-06-04 1326

:::::: The code at line 1323 was first introduced by commit
:::::: ba9c1201beaa86a773e83be5654602a0667e4a4d mm/hugetlb: clear compound_nr before freeing gigantic pages

:::::: TO: Gerald Schaefer <gerald.schaefer@xxxxxxxxxxxxx>
:::::: CC: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx