* [linux-next:master 3462/3504] mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 2 (different base types)
@ 2024-04-04 2:44 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-04-04 2:44 UTC (permalink / raw)
To: Paul E. McKenney; +Cc: oe-kbuild-all, Linux Memory Management List
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 727900b675b749c40ba1f6669c7ae5eb7eb8e837
commit: 284f5619c605dadceadcad1e807cd08503ae13c5 [3462/3504] Merge branch 'rcu/next' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu.git
config: riscv-randconfig-r112-20240403 (https://download.01.org/0day-ci/archive/20240404/202404041017.bDUZVz4r-lkp@intel.com/config)
compiler: riscv64-linux-gcc (GCC) 13.2.0
reproduce: (https://download.01.org/0day-ci/archive/20240404/202404041017.bDUZVz4r-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/202404041017.bDUZVz4r-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned long [usertype] old @@ got struct folio *__old @@
mm/huge_memory.c:207:13: sparse: expected unsigned long [usertype] old
mm/huge_memory.c:207:13: sparse: got struct folio *__old
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned long [usertype] new @@ got struct folio *__new @@
mm/huge_memory.c:207:13: sparse: expected unsigned long [usertype] new
mm/huge_memory.c:207:13: sparse: got struct folio *__new
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected struct folio *__ret @@ got unsigned long @@
mm/huge_memory.c:207:13: sparse: expected struct folio *__ret
mm/huge_memory.c:207:13: sparse: got unsigned long
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned long [usertype] old @@ got struct folio *__old @@
mm/huge_memory.c:207:13: sparse: expected unsigned long [usertype] old
mm/huge_memory.c:207:13: sparse: got struct folio *__old
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 3 (different base types) @@ expected unsigned long [usertype] new @@ got struct folio *__new @@
mm/huge_memory.c:207:13: sparse: expected unsigned long [usertype] new
mm/huge_memory.c:207:13: sparse: got struct folio *__new
>> mm/huge_memory.c:207:13: sparse: sparse: incorrect type in assignment (different base types) @@ expected struct folio *__ret @@ got unsigned long @@
mm/huge_memory.c:207:13: sparse: expected struct folio *__ret
mm/huge_memory.c:207:13: sparse: got unsigned long
mm/huge_memory.c:1743:20: sparse: sparse: context imbalance in 'madvise_free_huge_pmd' - unexpected unlock
mm/huge_memory.c:1781:28: sparse: sparse: context imbalance in 'zap_huge_pmd' - unexpected unlock
mm/huge_memory.c:1892:28: sparse: sparse: context imbalance in 'move_huge_pmd' - unexpected unlock
mm/huge_memory.c:2033:20: sparse: sparse: context imbalance in 'change_huge_pmd' - unexpected unlock
mm/huge_memory.c:2068:28: sparse: sparse: context imbalance in 'move_pages_huge_pmd' - unexpected unlock
mm/huge_memory.c:2183:12: sparse: sparse: context imbalance in '__pmd_trans_huge_lock' - wrong count at exit
mm/huge_memory.c:2303:18: sparse: sparse: context imbalance in '__split_huge_zero_page_pmd' - unexpected unlock
mm/huge_memory.c:2514:18: sparse: sparse: context imbalance in '__split_huge_pmd_locked' - unexpected unlock
mm/huge_memory.c: note: in included file (through include/linux/mmzone.h, include/linux/gfp.h, include/linux/mm.h):
include/linux/page-flags.h:240:46: sparse: sparse: self-comparison always evaluates to false
mm/huge_memory.c:2841:9: sparse: sparse: context imbalance in '__split_huge_page' - different lock contexts for basic block
mm/huge_memory.c:3098:17: sparse: sparse: context imbalance in 'split_huge_page_to_list_to_order' - different lock contexts for basic block
include/linux/page-flags.h:240:46: sparse: sparse: self-comparison always evaluates to false
vim +207 mm/huge_memory.c
7635d9cbe8327e Michal Hocko 2018-12-28 192
aaa9705b4af360 Miaohe Lin 2021-05-04 193 static bool get_huge_zero_page(void)
97ae17497e996f Kirill A. Shutemov 2012-12-12 194 {
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 195) struct folio *zero_folio;
97ae17497e996f Kirill A. Shutemov 2012-12-12 196 retry:
97ae17497e996f Kirill A. Shutemov 2012-12-12 197 if (likely(atomic_inc_not_zero(&huge_zero_refcount)))
aaa9705b4af360 Miaohe Lin 2021-05-04 198 return true;
97ae17497e996f Kirill A. Shutemov 2012-12-12 199
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 200) zero_folio = folio_alloc((GFP_TRANSHUGE | __GFP_ZERO) & ~__GFP_MOVABLE,
4a6c1297268c91 Kirill A. Shutemov 2012-12-12 201 HPAGE_PMD_ORDER);
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 202) if (!zero_folio) {
d8a8e1f0da3d29 Kirill A. Shutemov 2012-12-12 203 count_vm_event(THP_ZERO_PAGE_ALLOC_FAILED);
aaa9705b4af360 Miaohe Lin 2021-05-04 204 return false;
d8a8e1f0da3d29 Kirill A. Shutemov 2012-12-12 205 }
97ae17497e996f Kirill A. Shutemov 2012-12-12 206 preempt_disable();
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 @207) if (cmpxchg(&huge_zero_folio, NULL, zero_folio)) {
97ae17497e996f Kirill A. Shutemov 2012-12-12 208 preempt_enable();
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 209) folio_put(zero_folio);
97ae17497e996f Kirill A. Shutemov 2012-12-12 210 goto retry;
4a6c1297268c91 Kirill A. Shutemov 2012-12-12 211 }
6c768b74689de7 Matthew Wilcox (Oracle 2024-03-26 212) WRITE_ONCE(huge_zero_pfn, folio_pfn(zero_folio));
4a6c1297268c91 Kirill A. Shutemov 2012-12-12 213
97ae17497e996f Kirill A. Shutemov 2012-12-12 214 /* We take additional reference here. It will be put back by shrinker */
97ae17497e996f Kirill A. Shutemov 2012-12-12 215 atomic_set(&huge_zero_refcount, 2);
97ae17497e996f Kirill A. Shutemov 2012-12-12 216 preempt_enable();
f4981502088f8e Liu Shixin 2022-09-09 217 count_vm_event(THP_ZERO_PAGE_ALLOC);
aaa9705b4af360 Miaohe Lin 2021-05-04 218 return true;
97ae17497e996f Kirill A. Shutemov 2012-12-12 219 }
97ae17497e996f Kirill A. Shutemov 2012-12-12 220
:::::: The code at line 207 was first introduced by commit
:::::: 6c768b74689de72ea86a428597acc9f0ef0c9236 mm: convert huge_zero_page to huge_zero_folio
:::::: TO: Matthew Wilcox (Oracle) <willy@infradead.org>
:::::: CC: Andrew Morton <akpm@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-04-04 2:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-04 2:44 [linux-next:master 3462/3504] mm/huge_memory.c:207:13: sparse: sparse: incorrect type in argument 2 (different base types) kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox