From: kernel test robot <lkp@intel.com>
To: mpenttil@redhat.com, linux-mm@kvack.org
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
"Mika Penttilä" <mpenttil@redhat.com>,
"David Hildenbrand" <david@redhat.com>,
"Jason Gunthorpe" <jgg@nvidia.com>,
"Leon Romanovsky" <leonro@nvidia.com>,
"Alistair Popple" <apopple@nvidia.com>,
"Balbir Singh" <balbirs@nvidia.com>, "Zi Yan" <ziy@nvidia.com>,
"Matthew Brost" <matthew.brost@intel.com>
Subject: Re: [PATCH 1/3] mm: unified hmm fault and migrate device pagewalk paths
Date: Thu, 15 Jan 2026 02:04:18 +0800 [thread overview]
Message-ID: <202601150107.djcXDbUn-lkp@intel.com> (raw)
In-Reply-To: <20260114091923.3950465-2-mpenttil@redhat.com>
Hi,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-nonmm-unstable]
[also build test ERROR on linus/master v6.19-rc5 next-20260114]
[cannot apply to akpm-mm/mm-everything]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/mpenttil-redhat-com/mm-unified-hmm-fault-and-migrate-device-pagewalk-paths/20260114-172232
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-nonmm-unstable
patch link: https://lore.kernel.org/r/20260114091923.3950465-2-mpenttil%40redhat.com
patch subject: [PATCH 1/3] mm: unified hmm fault and migrate device pagewalk paths
config: hexagon-randconfig-r063-20260114 (https://download.01.org/0day-ci/archive/20260115/202601150107.djcXDbUn-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9b8addffa70cee5b2acc5454712d9cf78ce45710)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260115/202601150107.djcXDbUn-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/202601150107.djcXDbUn-lkp@intel.com/
All errors (new ones prefixed by >>):
>> mm/hmm.c:49:30: error: incomplete result type 'enum migrate_vma_info' in function definition
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
mm/hmm.c:49:13: note: forward declaration of 'enum migrate_vma_info'
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
>> mm/hmm.c:51:24: error: variable has incomplete type 'enum migrate_vma_info'
51 | enum migrate_vma_info minfo;
| ^
mm/hmm.c:49:13: note: forward declaration of 'enum migrate_vma_info'
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
>> mm/hmm.c:53:41: error: incomplete definition of type 'struct migrate_vma'
53 | minfo = range->migrate ? range->migrate->flags : 0;
| ~~~~~~~~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
>> mm/hmm.c:55:3: error: use of undeclared identifier 'MIGRATE_VMA_SELECT_SYSTEM'
55 | MIGRATE_VMA_SELECT_SYSTEM : 0;
| ^~~~~~~~~~~~~~~~~~~~~~~~~
mm/hmm.c:65:24: error: variable has incomplete type 'enum migrate_vma_info'
65 | enum migrate_vma_info minfo;
| ^
mm/hmm.c:49:13: note: forward declaration of 'enum migrate_vma_info'
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
>> mm/hmm.c:77:15: error: use of undeclared identifier 'MIGRATE_VMA_SELECT_COMPOUND'
77 | (minfo & MIGRATE_VMA_SELECT_COMPOUND) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/hmm.c:423:20: warning: unused variable 'range' [-Wunused-variable]
423 | struct hmm_range *range = hmm_vma_walk->range;
| ^~~~~
mm/hmm.c:493:24: error: variable has incomplete type 'enum migrate_vma_info'
493 | enum migrate_vma_info minfo;
| ^
mm/hmm.c:49:13: note: forward declaration of 'enum migrate_vma_info'
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
mm/hmm.c:502:35: error: incomplete definition of type 'struct migrate_vma'
502 | fault_folio = (migrate && migrate->fault_page) ?
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:503:21: error: incomplete definition of type 'struct migrate_vma'
503 | page_folio(migrate->fault_page) : NULL;
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:503:21: error: incomplete definition of type 'struct migrate_vma'
503 | page_folio(migrate->fault_page) : NULL;
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:503:21: error: incomplete definition of type 'struct migrate_vma'
503 | page_folio(migrate->fault_page) : NULL;
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:512:17: error: use of undeclared identifier 'MIGRATE_VMA_SELECT_SYSTEM'
512 | if (!(minfo & MIGRATE_VMA_SELECT_SYSTEM))
| ^~~~~~~~~~~~~~~~~~~~~~~~~
>> mm/hmm.c:529:17: error: use of undeclared identifier 'MIGRATE_VMA_SELECT_DEVICE_PRIVATE'
529 | if (!(minfo & MIGRATE_VMA_SELECT_DEVICE_PRIVATE))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/hmm.c:531:37: error: incomplete definition of type 'struct migrate_vma'
531 | if (folio->pgmap->owner != migrate->pgmap_owner)
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:548:14: error: incomplete definition of type 'struct migrate_vma'
548 | (migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:548:24: error: use of undeclared identifier 'MIGRATE_VMA_SELECT_COMPOUND'
548 | (migrate->flags & MIGRATE_VMA_SELECT_COMPOUND) &&
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/hmm.c:603:24: error: variable has incomplete type 'enum migrate_vma_info'
603 | enum migrate_vma_info minfo;
| ^
mm/hmm.c:49:13: note: forward declaration of 'enum migrate_vma_info'
49 | static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
| ^
mm/hmm.c:620:35: error: incomplete definition of type 'struct migrate_vma'
620 | fault_folio = (migrate && migrate->fault_page) ?
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
mm/hmm.c:621:21: error: incomplete definition of type 'struct migrate_vma'
621 | page_folio(migrate->fault_page) : NULL;
| ~~~~~~~^
include/linux/hmm.h:15:8: note: forward declaration of 'struct migrate_vma'
15 | struct migrate_vma;
| ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
1 warning and 20 errors generated.
vim +49 mm/hmm.c
48
> 49 static enum migrate_vma_info hmm_select_migrate(struct hmm_range *range)
50 {
> 51 enum migrate_vma_info minfo;
52
> 53 minfo = range->migrate ? range->migrate->flags : 0;
54 minfo |= (range->default_flags & HMM_PFN_REQ_MIGRATE) ?
> 55 MIGRATE_VMA_SELECT_SYSTEM : 0;
56
57 return minfo;
58 }
59
60 static int hmm_pfns_fill(unsigned long addr, unsigned long end,
61 struct hmm_vma_walk *hmm_vma_walk, unsigned long cpu_flags)
62 {
63 struct hmm_range *range = hmm_vma_walk->range;
64 unsigned long i = (addr - range->start) >> PAGE_SHIFT;
65 enum migrate_vma_info minfo;
66 bool migrate = false;
67
68 minfo = hmm_select_migrate(range);
69 if (cpu_flags != HMM_PFN_ERROR) {
70 if (minfo && (vma_is_anonymous(hmm_vma_walk->vma))) {
71 cpu_flags |= (HMM_PFN_VALID | HMM_PFN_MIGRATE);
72 migrate = true;
73 }
74 }
75
76 if (migrate && thp_migration_supported() &&
> 77 (minfo & MIGRATE_VMA_SELECT_COMPOUND) &&
78 IS_ALIGNED(addr, HPAGE_PMD_SIZE) &&
79 IS_ALIGNED(end, HPAGE_PMD_SIZE)) {
80 range->hmm_pfns[i] &= HMM_PFN_INOUT_FLAGS;
81 range->hmm_pfns[i] |= cpu_flags | HMM_PFN_COMPOUND;
82 addr += PAGE_SIZE;
83 i++;
84 cpu_flags = 0;
85 }
86
87 for (; addr < end; addr += PAGE_SIZE, i++) {
88 range->hmm_pfns[i] &= HMM_PFN_INOUT_FLAGS;
89 range->hmm_pfns[i] |= cpu_flags;
90 }
91
92 return 0;
93 }
94
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2026-01-14 18:05 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-14 9:19 [PATCH 0/3] Migrate on fault for device pages mpenttil
2026-01-14 9:19 ` [PATCH 1/3] mm: unified hmm fault and migrate device pagewalk paths mpenttil
2026-01-14 14:57 ` kernel test robot
2026-01-14 16:46 ` kernel test robot
2026-01-14 18:04 ` kernel test robot [this message]
2026-01-14 9:19 ` [PATCH 2/3] mm: add new testcase for the migrate on fault case mpenttil
2026-01-14 9:19 ` [PATCH 3/3] mm:/migrate_device.c: remove migrate_vma_collect_*() functions mpenttil
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202601150107.djcXDbUn-lkp@intel.com \
--to=lkp@intel.com \
--cc=apopple@nvidia.com \
--cc=balbirs@nvidia.com \
--cc=david@redhat.com \
--cc=jgg@nvidia.com \
--cc=leonro@nvidia.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=matthew.brost@intel.com \
--cc=mpenttil@redhat.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=ziy@nvidia.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox