* [alibaba-cloud:ck-4.19.91 10465/10518] mm/kidled.c:359:4: error: implicit declaration of function 'page_idle_clear_pte_refs'; did you mean 'mds_idle_clear_cpu_buffers'?
@ 2020-01-02 17:05 kbuild test robot
0 siblings, 0 replies; only message in thread
From: kbuild test robot @ 2020-01-02 17:05 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3802 bytes --]
tree: https://github.com/alibaba/cloud-kernel.git ck-4.19.91
head: 4436e229e139a00992054414a920c86ddadb7eb9
commit: f55ac55172bd98b3150f584b392389ce25e188e7 [10465/10518] alinux: mm: Support kidled
config: i386-allyesconfig (attached as .config)
compiler: gcc-7 (Debian 7.5.0-3) 7.5.0
reproduce:
git checkout f55ac55172bd98b3150f584b392389ce25e188e7
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
mm/kidled.c: In function 'kidled_scan_page':
>> mm/kidled.c:359:4: error: implicit declaration of function 'page_idle_clear_pte_refs'; did you mean 'mds_idle_clear_cpu_buffers'? [-Werror=implicit-function-declaration]
page_idle_clear_pte_refs(page);
^~~~~~~~~~~~~~~~~~~~~~~~
mds_idle_clear_cpu_buffers
cc1: some warnings being treated as errors
vim +359 mm/kidled.c
312
313 static inline int kidled_scan_page(pg_data_t *pgdat, unsigned long pfn)
314 {
315 struct page *page;
316 int age, nr_pages = 1, idx;
317 bool idle = false;
318
319 if (!pfn_valid(pfn))
320 goto out;
321
322 page = pfn_to_page(pfn);
323 if (!page || !PageLRU(page)) {
324 kidled_set_page_age(pgdat, pfn, 0);
325 goto out;
326 }
327
328 /*
329 * Try to skip clear PTE references which is an expensive call.
330 * PG_idle should be cleared when free a page and we have checked
331 * PG_lru flag above, so the race is acceptable to us.
332 */
333 if (page_is_idle(page)) {
334 if (kidled_need_check_idle(pgdat, pfn)) {
335 if (!get_page_unless_zero(page)) {
336 kidled_set_page_age(pgdat, pfn, 0);
337 goto out;
338 }
339
340 /*
341 * Check again after get a reference count, while in
342 * page_idle_get_page() it gets zone_lru_lock at first,
343 * it seems useless.
344 *
345 * Also we can't hold LRU lock here as the consumed
346 * time to finish the scanning is fixed. Otherwise,
347 * the accumulated statistics will be cleared out
348 * and scan interval (@scan_period_in_seconds) will
349 * be doubled. However, this may incur race between
350 * kidled and page reclaim. The page reclaim may dry
351 * run due to dumped refcount, but it's acceptable.
352 */
353 if (unlikely(!PageLRU(page))) {
354 put_page(page);
355 kidled_set_page_age(pgdat, pfn, 0);
356 goto out;
357 }
358
> 359 page_idle_clear_pte_refs(page);
360 if (page_is_idle(page))
361 idle = true;
362 put_page(page);
363 } else if (kidled_get_page_age(pgdat, pfn) > 0) {
364 idle = true;
365 }
366 }
367
368 if (PageTransHuge(page))
369 nr_pages = 1 << compound_order(page);
370
371 if (idle) {
372 age = kidled_inc_page_age(pgdat, pfn);
373 if (age > 0)
374 kidled_mem_cgroup_account(page, age, nr_pages);
375 else
376 age = 0;
377 } else {
378 age = 0;
379 kidled_set_page_age(pgdat, pfn, 0);
380 if (get_page_unless_zero(page)) {
381 if (likely(PageLRU(page)))
382 set_page_idle(page);
383 put_page(page);
384 }
385 }
386
387 for (idx = 1; idx < nr_pages; idx++)
388 kidled_set_page_age(pgdat, pfn + idx, age);
389
390 out:
391 return nr_pages;
392 }
393
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Intel Corporation
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 63902 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2020-01-02 17:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-02 17:05 [alibaba-cloud:ck-4.19.91 10465/10518] mm/kidled.c:359:4: error: implicit declaration of function 'page_idle_clear_pte_refs'; did you mean 'mds_idle_clear_cpu_buffers'? kbuild 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.