* [openeuler:openEuler-1.0-LTS 1418/1418] mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool'
@ 2025-02-08 14:50 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-02-08 14:50 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: cc7cb040bd0afe96f1da94c9f21eda5a986510a5
commit: 0bc0d0d57edacd59ebe38d05ad9c4b2bc185aa51 [1418/1418] dhugetlb: backport dynamic hugetlb feature
config: x86_64-buildonly-randconfig-003-20250207 (https://download.01.org/0day-ci/archive/20250208/202502082245.oXwKH6sI-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250208/202502082245.oXwKH6sI-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502082245.oXwKH6sI-lkp@intel.com/
All warnings (new ones prefixed by >>):
In file included from mm/hugetlb.c:13:
include/linux/pagemap.h:425:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict]
425 | filler_t *filler = (filler_t *)mapping->a_ops->readpage;
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from mm/hugetlb.c:35:
include/linux/mm_inline.h:33:41: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
33 | __mod_lruvec_state(lruvec, NR_LRU_BASE + lru, nr_pages);
| ~~~~~~~~~~~ ^ ~~~
include/linux/mm_inline.h:35:22: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
35 | NR_ZONE_LRU_BASE + lru, nr_pages);
| ~~~~~~~~~~~~~~~~ ^ ~~~
>> mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
mm/hugetlb.c:1370:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
| static
In file included from mm/hugetlb.c:14:
include/linux/mempolicy.h:329:13: warning: unused function '__do_mbind' [-Wunused-function]
329 | static long __do_mbind(unsigned long start, unsigned long len,
| ^~~~~~~~~~
5 warnings generated.
vim +/free_huge_page_to_dhugetlb_pool +1370 mm/hugetlb.c
1324
1325 #ifdef CONFIG_DYNAMIC_HUGETLB
1326 static void free_huge_page_to_dhugetlb_pool(struct page *page,
1327 bool restore_reserve)
1328 {
1329 struct hstate *h = page_hstate(page);
1330 struct dhugetlb_pool *hpool;
1331
1332 hpool = get_dhugetlb_pool_from_dhugetlb_pagelist(page);
1333 if (unlikely(!hpool)) {
1334 pr_err("dhugetlb: free error: get hpool failed\n");
1335 return;
1336 }
1337
1338 spin_lock(&hpool->lock);
1339 ClearPagePool(page);
1340 set_compound_page_dtor(page, NULL_COMPOUND_DTOR);
1341 if (!hstate_is_gigantic(h)) {
1342 list_add(&page->lru, &hpool->dhugetlb_2M_freelists);
1343 hpool->free_reserved_2M++;
1344 hpool->used_2M--;
1345 if (restore_reserve) {
1346 hpool->mmap_reserved_2M++;
1347 trace_dhugetlb_acct_memory(hpool,
1348 hpool->mmap_reserved_2M,
1349 DHUGETLB_RESV_2M);
1350 }
1351 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_2M,
1352 DHUGETLB_FREE_2M);
1353 } else {
1354 list_add(&page->lru, &hpool->dhugetlb_1G_freelists);
1355 hpool->free_reserved_1G++;
1356 hpool->used_1G--;
1357 if (restore_reserve) {
1358 hpool->mmap_reserved_1G++;
1359 trace_dhugetlb_acct_memory(hpool,
1360 hpool->mmap_reserved_1G,
1361 DHUGETLB_RESV_1G);
1362 }
1363 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_1G,
1364 DHUGETLB_FREE_1G);
1365 }
1366 spin_unlock(&hpool->lock);
1367 dhugetlb_pool_put(hpool);
1368 }
1369 #else
> 1370 void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
1371 {
1372 }
1373 #endif
1374
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* [openeuler:openEuler-1.0-LTS 1418/1418] mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool'
@ 2025-04-08 2:23 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-04-08 2:23 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
Hi Liu,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 3191c9e4e7c581bfe0a40ee198ffcbd5c3dea53e
commit: 0bc0d0d57edacd59ebe38d05ad9c4b2bc185aa51 [1418/1418] dhugetlb: backport dynamic hugetlb feature
config: x86_64-buildonly-randconfig-003-20250207 (https://download.01.org/0day-ci/archive/20250408/202504081022.SWpK2BGS-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250408/202504081022.SWpK2BGS-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504081022.SWpK2BGS-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
mm/hugetlb.c:1370:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
| static
In file included from mm/hugetlb.c:14:
include/linux/mempolicy.h:329:13: warning: unused function '__do_mbind' [-Wunused-function]
329 | static long __do_mbind(unsigned long start, unsigned long len,
| ^~~~~~~~~~
2 warnings generated.
vim +/free_huge_page_to_dhugetlb_pool +1370 mm/hugetlb.c
1324
1325 #ifdef CONFIG_DYNAMIC_HUGETLB
1326 static void free_huge_page_to_dhugetlb_pool(struct page *page,
1327 bool restore_reserve)
1328 {
1329 struct hstate *h = page_hstate(page);
1330 struct dhugetlb_pool *hpool;
1331
1332 hpool = get_dhugetlb_pool_from_dhugetlb_pagelist(page);
1333 if (unlikely(!hpool)) {
1334 pr_err("dhugetlb: free error: get hpool failed\n");
1335 return;
1336 }
1337
1338 spin_lock(&hpool->lock);
1339 ClearPagePool(page);
1340 set_compound_page_dtor(page, NULL_COMPOUND_DTOR);
1341 if (!hstate_is_gigantic(h)) {
1342 list_add(&page->lru, &hpool->dhugetlb_2M_freelists);
1343 hpool->free_reserved_2M++;
1344 hpool->used_2M--;
1345 if (restore_reserve) {
1346 hpool->mmap_reserved_2M++;
1347 trace_dhugetlb_acct_memory(hpool,
1348 hpool->mmap_reserved_2M,
1349 DHUGETLB_RESV_2M);
1350 }
1351 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_2M,
1352 DHUGETLB_FREE_2M);
1353 } else {
1354 list_add(&page->lru, &hpool->dhugetlb_1G_freelists);
1355 hpool->free_reserved_1G++;
1356 hpool->used_1G--;
1357 if (restore_reserve) {
1358 hpool->mmap_reserved_1G++;
1359 trace_dhugetlb_acct_memory(hpool,
1360 hpool->mmap_reserved_1G,
1361 DHUGETLB_RESV_1G);
1362 }
1363 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_1G,
1364 DHUGETLB_FREE_1G);
1365 }
1366 spin_unlock(&hpool->lock);
1367 dhugetlb_pool_put(hpool);
1368 }
1369 #else
> 1370 void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
1371 {
1372 }
1373 #endif
1374
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* [openeuler:openEuler-1.0-LTS 1418/1418] mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool'
@ 2025-10-17 17:37 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-10-17 17:37 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
Hi Liu,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: 045418106c25769e424b67183bab8f2333dc6278
commit: 0bc0d0d57edacd59ebe38d05ad9c4b2bc185aa51 [1418/1418] dhugetlb: backport dynamic hugetlb feature
config: x86_64-buildonly-randconfig-003-20250207 (https://download.01.org/0day-ci/archive/20251018/202510180108.ZfB8paeW-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251018/202510180108.ZfB8paeW-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510180108.ZfB8paeW-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
mm/hugetlb.c:1370:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
| static
In file included from mm/hugetlb.c:14:
include/linux/mempolicy.h:329:13: warning: unused function '__do_mbind' [-Wunused-function]
329 | static long __do_mbind(unsigned long start, unsigned long len,
| ^~~~~~~~~~
2 warnings generated.
vim +/free_huge_page_to_dhugetlb_pool +1370 mm/hugetlb.c
1324
1325 #ifdef CONFIG_DYNAMIC_HUGETLB
1326 static void free_huge_page_to_dhugetlb_pool(struct page *page,
1327 bool restore_reserve)
1328 {
1329 struct hstate *h = page_hstate(page);
1330 struct dhugetlb_pool *hpool;
1331
1332 hpool = get_dhugetlb_pool_from_dhugetlb_pagelist(page);
1333 if (unlikely(!hpool)) {
1334 pr_err("dhugetlb: free error: get hpool failed\n");
1335 return;
1336 }
1337
1338 spin_lock(&hpool->lock);
1339 ClearPagePool(page);
1340 set_compound_page_dtor(page, NULL_COMPOUND_DTOR);
1341 if (!hstate_is_gigantic(h)) {
1342 list_add(&page->lru, &hpool->dhugetlb_2M_freelists);
1343 hpool->free_reserved_2M++;
1344 hpool->used_2M--;
1345 if (restore_reserve) {
1346 hpool->mmap_reserved_2M++;
1347 trace_dhugetlb_acct_memory(hpool,
1348 hpool->mmap_reserved_2M,
1349 DHUGETLB_RESV_2M);
1350 }
1351 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_2M,
1352 DHUGETLB_FREE_2M);
1353 } else {
1354 list_add(&page->lru, &hpool->dhugetlb_1G_freelists);
1355 hpool->free_reserved_1G++;
1356 hpool->used_1G--;
1357 if (restore_reserve) {
1358 hpool->mmap_reserved_1G++;
1359 trace_dhugetlb_acct_memory(hpool,
1360 hpool->mmap_reserved_1G,
1361 DHUGETLB_RESV_1G);
1362 }
1363 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_1G,
1364 DHUGETLB_FREE_1G);
1365 }
1366 spin_unlock(&hpool->lock);
1367 dhugetlb_pool_put(hpool);
1368 }
1369 #else
> 1370 void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
1371 {
1372 }
1373 #endif
1374
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
* [openeuler:openEuler-1.0-LTS 1418/1418] mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool'
@ 2025-11-29 18:43 kernel test robot
0 siblings, 0 replies; 4+ messages in thread
From: kernel test robot @ 2025-11-29 18:43 UTC (permalink / raw)
To: kernel; +Cc: oe-kbuild-all
Hi Liu,
FYI, the error/warning still remains.
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS
head: d495515f012a96ae472e8ee75c66680fbdabaddb
commit: 0bc0d0d57edacd59ebe38d05ad9c4b2bc185aa51 [1418/1418] dhugetlb: backport dynamic hugetlb feature
config: x86_64-buildonly-randconfig-003-20250207 (https://download.01.org/0day-ci/archive/20251130/202511300245.MJmB71tp-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251130/202511300245.MJmB71tp-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511300245.MJmB71tp-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' [-Wmissing-prototypes]
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
mm/hugetlb.c:1370:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
1370 | void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
| ^
| static
In file included from mm/hugetlb.c:14:
include/linux/mempolicy.h:329:13: warning: unused function '__do_mbind' [-Wunused-function]
329 | static long __do_mbind(unsigned long start, unsigned long len,
| ^~~~~~~~~~
2 warnings generated.
vim +/free_huge_page_to_dhugetlb_pool +1370 mm/hugetlb.c
1324
1325 #ifdef CONFIG_DYNAMIC_HUGETLB
1326 static void free_huge_page_to_dhugetlb_pool(struct page *page,
1327 bool restore_reserve)
1328 {
1329 struct hstate *h = page_hstate(page);
1330 struct dhugetlb_pool *hpool;
1331
1332 hpool = get_dhugetlb_pool_from_dhugetlb_pagelist(page);
1333 if (unlikely(!hpool)) {
1334 pr_err("dhugetlb: free error: get hpool failed\n");
1335 return;
1336 }
1337
1338 spin_lock(&hpool->lock);
1339 ClearPagePool(page);
1340 set_compound_page_dtor(page, NULL_COMPOUND_DTOR);
1341 if (!hstate_is_gigantic(h)) {
1342 list_add(&page->lru, &hpool->dhugetlb_2M_freelists);
1343 hpool->free_reserved_2M++;
1344 hpool->used_2M--;
1345 if (restore_reserve) {
1346 hpool->mmap_reserved_2M++;
1347 trace_dhugetlb_acct_memory(hpool,
1348 hpool->mmap_reserved_2M,
1349 DHUGETLB_RESV_2M);
1350 }
1351 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_2M,
1352 DHUGETLB_FREE_2M);
1353 } else {
1354 list_add(&page->lru, &hpool->dhugetlb_1G_freelists);
1355 hpool->free_reserved_1G++;
1356 hpool->used_1G--;
1357 if (restore_reserve) {
1358 hpool->mmap_reserved_1G++;
1359 trace_dhugetlb_acct_memory(hpool,
1360 hpool->mmap_reserved_1G,
1361 DHUGETLB_RESV_1G);
1362 }
1363 trace_dhugetlb_alloc_free(hpool, page, hpool->free_reserved_1G,
1364 DHUGETLB_FREE_1G);
1365 }
1366 spin_unlock(&hpool->lock);
1367 dhugetlb_pool_put(hpool);
1368 }
1369 #else
> 1370 void free_huge_page_to_dhugetlb_pool(struct page *page, bool restore_reserve)
1371 {
1372 }
1373 #endif
1374
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-11-29 18:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-08 2:23 [openeuler:openEuler-1.0-LTS 1418/1418] mm/hugetlb.c:1370:6: warning: no previous prototype for function 'free_huge_page_to_dhugetlb_pool' kernel test robot
-- strict thread matches above, loose matches on Subject: below --
2025-11-29 18:43 kernel test robot
2025-10-17 17:37 kernel test robot
2025-02-08 14:50 kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.