All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.