From: kernel test robot <lkp@intel.com>
To: aubrey.li@linux.intel.com
Cc: oe-kbuild-all@lists.linux.dev
Subject: [anolis-intel-cloud:devel-6.6 2/2] mm/balloon_compaction.c:199: warning: Function parameter or member 'first_page' not described in 'balloon_page_list_dequeue_cont'
Date: Tue, 06 Jan 2026 00:25:25 +0800 [thread overview]
Message-ID: <202601060008.1BRGbier-lkp@intel.com> (raw)
tree: https://gitee.com/anolis/intel-cloud-kernel.git devel-6.6
head: f64b5635bc6da0e12f72f202d7ac1b5bb5457209
commit: 1f23c7bc1279ef309af72e4ee3a93f78b9b7a05e [2/2] anolis: virtio_balloon: Add deflate_cont_vq to deflate continuous pages
config: x86_64-anolis-intel-cloud-devel-6.6 (https://download.01.org/0day-ci/archive/20260106/202601060008.1BRGbier-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.4.0-5) 12.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260106/202601060008.1BRGbier-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/202601060008.1BRGbier-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> mm/balloon_compaction.c:199: warning: Function parameter or member 'first_page' not described in 'balloon_page_list_dequeue_cont'
vim +199 mm/balloon_compaction.c
177
178 /**
179 * balloon_page_list_dequeue_cont() - removes continuous pages from balloon's page list
180 * and returns a list of the continuous pages.
181 * @b_dev_info: balloon device decriptor where we will grab a page from.
182 * @pages: pointer to the list of pages that would be returned to the caller.
183 * @max_req_pages: max number of requested pages.
184 *
185 * Driver must call this function to properly de-allocate a previous enlisted
186 * balloon pages before definitively releasing it back to the guest system.
187 * This function tries to remove @max_req_pages continuous pages from the ballooned
188 * pages and return them to the caller in the @pages list.
189 *
190 * Note that this function may fail to dequeue some pages even if the balloon
191 * isn't empty - since the page list can be temporarily empty due to compaction
192 * of isolated pages.
193 *
194 * Return: number of pages that were added to the @pages list.
195 */
196 size_t balloon_page_list_dequeue_cont(struct balloon_dev_info *b_dev_info,
197 struct list_head *pages, struct page **first_page,
198 size_t max_req_pages)
> 199 {
200 struct page *page, *tmp;
201 unsigned long flags, tail_pfn;
202 size_t n_pages = 0;
203 bool got_first = false;
204
205 spin_lock_irqsave(&b_dev_info->pages_lock, flags);
206 list_for_each_entry_safe_reverse(page, tmp, &b_dev_info->pages, lru) {
207 unsigned long pfn;
208
209 if (n_pages == max_req_pages)
210 break;
211
212 pfn = page_to_pfn(page);
213
214 if (got_first && pfn != tail_pfn + 1)
215 break;
216
217 /*
218 * Block others from accessing the 'page' while we get around to
219 * establishing additional references and preparing the 'page'
220 * to be released by the balloon driver.
221 */
222 if (!trylock_page(page)) {
223 if (!got_first)
224 continue;
225 else
226 break;
227 }
228
229 if (IS_ENABLED(CONFIG_BALLOON_COMPACTION) && PageIsolated(page)) {
230 /* raced with isolation */
231 unlock_page(page);
232 if (!got_first)
233 continue;
234 else
235 break;
236 }
237 balloon_page_delete(page);
238 __count_vm_event(BALLOON_DEFLATE);
239 list_add(&page->lru, pages);
240 unlock_page(page);
241 n_pages++;
242 tail_pfn = pfn;
243 if (!got_first) {
244 got_first = true;
245 *first_page = page;
246 }
247 }
248 spin_unlock_irqrestore(&b_dev_info->pages_lock, flags);
249
250 return n_pages;
251 }
252 EXPORT_SYMBOL_GPL(balloon_page_list_dequeue_cont);
253
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
reply other threads:[~2026-01-05 16:25 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
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=202601060008.1BRGbier-lkp@intel.com \
--to=lkp@intel.com \
--cc=aubrey.li@linux.intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
/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 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.