All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Michel Lespinasse <michel@lespinasse.org>,
	Linux-MM <linux-mm@kvack.org>,
	Linux-Kernel <linux-kernel@vger.kernel.org>
Cc: kbuild-all@lists.01.org, Laurent Dufour <ldufour@linux.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Michal Hocko <mhocko@suse.com>,
	Matthew Wilcox <willy@infradead.org>,
	Rik van Riel <riel@surriel.com>,
	Paul McKenney <paulmck@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Suren Baghdasaryan <surenb@google.com>
Subject: Re: [PATCH 27/29] mm: anon spf statistics
Date: Sat, 1 May 2021 06:52:22 +0800	[thread overview]
Message-ID: <202105010601.Oo5yNktn-lkp@intel.com> (raw)
In-Reply-To: <20210430195232.30491-28-michel@lespinasse.org>

[-- Attachment #1: Type: text/plain, Size: 23428 bytes --]

Hi Michel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/x86/mm]
[also build test ERROR on arm64/for-next/core linus/master v5.12]
[cannot apply to hnaz-linux-mm/master next-20210430]
[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]

url:    https://github.com/0day-ci/linux/commits/Michel-Lespinasse/Speculative-page-faults-anon-vmas-only/20210501-035602
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a500fc918f7b8dc3dff2e6c74f3e73e856c18248
config: nios2-randconfig-r014-20210501 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/4c848aa85ff1e5b3a01dde75e9facbe9cb7b8120
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Michel-Lespinasse/Speculative-page-faults-anon-vmas-only/20210501-035602
        git checkout 4c848aa85ff1e5b3a01dde75e9facbe9cb7b8120
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nios2 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h: In function '__inc_zone_page_state':
>> include/linux/vmstat.h:362:19: error: implicit declaration of function 'page_zone' [-Werror=implicit-function-declaration]
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~
>> include/linux/vmstat.h:362:19: warning: passing argument 1 of '__inc_zone_state' makes pointer from integer without a cast [-Wint-conversion]
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:335:50: note: expected 'struct zone *' but argument is of type 'int'
     335 | static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
         |                                     ~~~~~~~~~~~~~^~~~
   include/linux/vmstat.h: In function '__inc_node_page_state':
>> include/linux/vmstat.h:368:19: error: implicit declaration of function 'page_pgdat'; did you mean 'page_private'? [-Werror=implicit-function-declaration]
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~
         |                   page_private
>> include/linux/vmstat.h:368:19: warning: passing argument 1 of '__inc_node_state' makes pointer from integer without a cast [-Wint-conversion]
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:341:57: note: expected 'struct pglist_data *' but argument is of type 'int'
     341 | static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
         |                                     ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function '__dec_zone_page_state':
>> include/linux/vmstat.h:375:19: warning: passing argument 1 of '__dec_zone_state' makes pointer from integer without a cast [-Wint-conversion]
     375 |  __dec_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:347:50: note: expected 'struct zone *' but argument is of type 'int'
     347 | static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
         |                                     ~~~~~~~~~~~~~^~~~
   include/linux/vmstat.h: In function '__dec_node_page_state':
>> include/linux/vmstat.h:381:19: warning: passing argument 1 of '__dec_node_state' makes pointer from integer without a cast [-Wint-conversion]
     381 |  __dec_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:353:57: note: expected 'struct pglist_data *' but argument is of type 'int'
     353 | static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
         |                                     ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function '__mod_lruvec_page_state':
>> include/linux/vmstat.h:510:24: warning: passing argument 1 of '__mod_node_page_state' makes pointer from integer without a cast [-Wint-conversion]
     510 |  __mod_node_page_state(page_pgdat(page), idx, val);
         |                        ^~~~~~~~~~~~~~~~
         |                        |
         |                        int
   include/linux/vmstat.h:318:62: note: expected 'struct pglist_data *' but argument is of type 'int'
     318 | static inline void __mod_node_page_state(struct pglist_data *pgdat,
         |                                          ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function 'mod_lruvec_page_state':
   include/linux/vmstat.h:516:22: warning: passing argument 1 of '__mod_node_page_state' makes pointer from integer without a cast [-Wint-conversion]
     516 |  mod_node_page_state(page_pgdat(page), idx, val);
         |                      ^~~~~~~~~~~~~~~~
         |                      |
         |                      int
   include/linux/vmstat.h:318:62: note: expected 'struct pglist_data *' but argument is of type 'int'
     318 | static inline void __mod_node_page_state(struct pglist_data *pgdat,
         |                                          ~~~~~~~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/mm.h: At top level:
>> include/linux/mm.h:1483:28: error: conflicting types for 'page_zone'
    1483 | static inline struct zone *page_zone(const struct page *page)
         |                            ^~~~~~~~~
   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h:362:19: note: previous implicit declaration of 'page_zone' was here
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~
   In file included from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
>> include/linux/mm.h:1488:26: error: conflicting types for 'page_pgdat'
    1488 | static inline pg_data_t *page_pgdat(const struct page *page)
         |                          ^~~~~~~~~~
   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h:368:19: note: previous implicit declaration of 'page_pgdat' was here
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~
   cc1: some warnings being treated as errors
   make[2]: *** [scripts/Makefile.build:116: arch/nios2/kernel/asm-offsets.s] Error 1
   make[2]: Target '__build' not remade because of errors.
   make[1]: *** [Makefile:1233: prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:215: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +/page_zone +362 include/linux/vmstat.h

75ef7184053989 Mel Gorman                2016-07-28  334  
7f4599e9cd6bca Christoph Lameter         2006-07-10 @335  static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
7f4599e9cd6bca Christoph Lameter         2006-07-10  336  {
7f4599e9cd6bca Christoph Lameter         2006-07-10  337  	atomic_long_inc(&zone->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  338  	atomic_long_inc(&vm_zone_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  339  }
75ef7184053989 Mel Gorman                2016-07-28  340  
75ef7184053989 Mel Gorman                2016-07-28  341  static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  342  {
75ef7184053989 Mel Gorman                2016-07-28  343  	atomic_long_inc(&pgdat->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  344  	atomic_long_inc(&vm_node_stat[item]);
7f4599e9cd6bca Christoph Lameter         2006-07-10  345  }
7f4599e9cd6bca Christoph Lameter         2006-07-10  346  
c878538598d1e7 Christoph Lameter         2007-02-10  347  static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
c878538598d1e7 Christoph Lameter         2007-02-10  348  {
c878538598d1e7 Christoph Lameter         2007-02-10  349  	atomic_long_dec(&zone->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  350  	atomic_long_dec(&vm_zone_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  351  }
75ef7184053989 Mel Gorman                2016-07-28  352  
75ef7184053989 Mel Gorman                2016-07-28  353  static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  354  {
75ef7184053989 Mel Gorman                2016-07-28  355  	atomic_long_dec(&pgdat->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  356  	atomic_long_dec(&vm_node_stat[item]);
c878538598d1e7 Christoph Lameter         2007-02-10  357  }
c878538598d1e7 Christoph Lameter         2007-02-10  358  
6a3ed2123a78de Johannes Weiner           2014-04-03  359  static inline void __inc_zone_page_state(struct page *page,
6a3ed2123a78de Johannes Weiner           2014-04-03  360  			enum zone_stat_item item)
6a3ed2123a78de Johannes Weiner           2014-04-03  361  {
6a3ed2123a78de Johannes Weiner           2014-04-03 @362  	__inc_zone_state(page_zone(page), item);
6a3ed2123a78de Johannes Weiner           2014-04-03  363  }
6a3ed2123a78de Johannes Weiner           2014-04-03  364  
75ef7184053989 Mel Gorman                2016-07-28  365  static inline void __inc_node_page_state(struct page *page,
75ef7184053989 Mel Gorman                2016-07-28  366  			enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  367  {
75ef7184053989 Mel Gorman                2016-07-28 @368  	__inc_node_state(page_pgdat(page), item);
75ef7184053989 Mel Gorman                2016-07-28  369  }
75ef7184053989 Mel Gorman                2016-07-28  370  
75ef7184053989 Mel Gorman                2016-07-28  371  
2244b95a7bcf8d Christoph Lameter         2006-06-30  372  static inline void __dec_zone_page_state(struct page *page,
2244b95a7bcf8d Christoph Lameter         2006-06-30  373  			enum zone_stat_item item)
2244b95a7bcf8d Christoph Lameter         2006-06-30  374  {
57ce36feb4d128 Uwe Kleine-König          2008-02-25 @375  	__dec_zone_state(page_zone(page), item);
2244b95a7bcf8d Christoph Lameter         2006-06-30  376  }
2244b95a7bcf8d Christoph Lameter         2006-06-30  377  
75ef7184053989 Mel Gorman                2016-07-28  378  static inline void __dec_node_page_state(struct page *page,
75ef7184053989 Mel Gorman                2016-07-28  379  			enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  380  {
75ef7184053989 Mel Gorman                2016-07-28 @381  	__dec_node_state(page_pgdat(page), item);
75ef7184053989 Mel Gorman                2016-07-28  382  }
75ef7184053989 Mel Gorman                2016-07-28  383  
75ef7184053989 Mel Gorman                2016-07-28  384  
2244b95a7bcf8d Christoph Lameter         2006-06-30  385  /*
2244b95a7bcf8d Christoph Lameter         2006-06-30  386   * We only use atomic operations to update counters. So there is no need to
2244b95a7bcf8d Christoph Lameter         2006-06-30  387   * disable interrupts.
2244b95a7bcf8d Christoph Lameter         2006-06-30  388   */
2244b95a7bcf8d Christoph Lameter         2006-06-30  389  #define inc_zone_page_state __inc_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  390  #define dec_zone_page_state __dec_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  391  #define mod_zone_page_state __mod_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  392  
75ef7184053989 Mel Gorman                2016-07-28  393  #define inc_node_page_state __inc_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  394  #define dec_node_page_state __dec_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  395  #define mod_node_page_state __mod_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  396  
6a3ed2123a78de Johannes Weiner           2014-04-03  397  #define inc_zone_state __inc_zone_state
75ef7184053989 Mel Gorman                2016-07-28  398  #define inc_node_state __inc_node_state
6a3ed2123a78de Johannes Weiner           2014-04-03  399  #define dec_zone_state __dec_zone_state
6a3ed2123a78de Johannes Weiner           2014-04-03  400  
b44129b30652c8 Mel Gorman                2011-01-13  401  #define set_pgdat_percpu_threshold(pgdat, callback) { }
88f5acf88ae6a9 Mel Gorman                2011-01-13  402  
a6cccdc36c966e KOSAKI Motohiro           2011-05-24  403  static inline void refresh_zone_stat_thresholds(void) { }
2bb921e5266565 Christoph Lameter         2013-09-11  404  static inline void cpu_vm_stats_fold(int cpu) { }
0eb77e98803219 Christoph Lameter         2016-01-14  405  static inline void quiet_vmstat(void) { }
a6cccdc36c966e KOSAKI Motohiro           2011-05-24  406  
5a883813845a2b Minchan Kim               2012-10-08  407  static inline void drain_zonestat(struct zone *zone,
5a883813845a2b Minchan Kim               2012-10-08  408  			struct per_cpu_pageset *pset) { }
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  409  #endif		/* CONFIG_SMP */
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  410  
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  411  static inline void __mod_zone_freepage_state(struct zone *zone, int nr_pages,
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  412  					     int migratetype)
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  413  {
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  414  	__mod_zone_page_state(zone, NR_FREE_PAGES, nr_pages);
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  415  	if (is_migrate_cma(migratetype))
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  416  		__mod_zone_page_state(zone, NR_FREE_CMA_PAGES, nr_pages);
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  417  }
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  418  
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  419  extern const char * const vmstat_text[];
2244b95a7bcf8d Christoph Lameter         2006-06-30  420  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  421  static inline const char *zone_stat_name(enum zone_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  422  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  423  	return vmstat_text[item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  424  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  425  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  426  #ifdef CONFIG_NUMA
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  427  static inline const char *numa_stat_name(enum numa_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  428  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  429  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  430  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  431  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  432  #endif /* CONFIG_NUMA */
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  433  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  434  static inline const char *node_stat_name(enum node_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  435  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  436  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  437  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  438  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  439  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  440  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  441  static inline const char *lru_list_name(enum lru_list lru)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  442  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  443  	return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  444  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  445  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  446  static inline const char *writeback_stat_name(enum writeback_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  447  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  448  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  449  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  450  			   NR_VM_NODE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  451  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  452  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  453  
ebc5d83d044381 Konstantin Khlebnikov     2019-12-04  454  #if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  455  static inline const char *vm_event_name(enum vm_event_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  456  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  457  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  458  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  459  			   NR_VM_NODE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  460  			   NR_VM_WRITEBACK_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  461  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  462  }
ebc5d83d044381 Konstantin Khlebnikov     2019-12-04  463  #endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  464  
c47d5032ed3002 Shakeel Butt              2020-12-14  465  #ifdef CONFIG_MEMCG
c47d5032ed3002 Shakeel Butt              2020-12-14  466  
c47d5032ed3002 Shakeel Butt              2020-12-14  467  void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
c47d5032ed3002 Shakeel Butt              2020-12-14  468  			int val);
c47d5032ed3002 Shakeel Butt              2020-12-14  469  
c47d5032ed3002 Shakeel Butt              2020-12-14  470  static inline void mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  471  				    enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  472  {
c47d5032ed3002 Shakeel Butt              2020-12-14  473  	unsigned long flags;
c47d5032ed3002 Shakeel Butt              2020-12-14  474  
c47d5032ed3002 Shakeel Butt              2020-12-14  475  	local_irq_save(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  476  	__mod_lruvec_state(lruvec, idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  477  	local_irq_restore(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  478  }
c47d5032ed3002 Shakeel Butt              2020-12-14  479  
c47d5032ed3002 Shakeel Butt              2020-12-14  480  void __mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  481  			     enum node_stat_item idx, int val);
c47d5032ed3002 Shakeel Butt              2020-12-14  482  
c47d5032ed3002 Shakeel Butt              2020-12-14  483  static inline void mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  484  					 enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  485  {
c47d5032ed3002 Shakeel Butt              2020-12-14  486  	unsigned long flags;
c47d5032ed3002 Shakeel Butt              2020-12-14  487  
c47d5032ed3002 Shakeel Butt              2020-12-14  488  	local_irq_save(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  489  	__mod_lruvec_page_state(page, idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  490  	local_irq_restore(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  491  }
c47d5032ed3002 Shakeel Butt              2020-12-14  492  
c47d5032ed3002 Shakeel Butt              2020-12-14  493  #else
c47d5032ed3002 Shakeel Butt              2020-12-14  494  
c47d5032ed3002 Shakeel Butt              2020-12-14  495  static inline void __mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  496  				      enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  497  {
c47d5032ed3002 Shakeel Butt              2020-12-14  498  	__mod_node_page_state(lruvec_pgdat(lruvec), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  499  }
c47d5032ed3002 Shakeel Butt              2020-12-14  500  
c47d5032ed3002 Shakeel Butt              2020-12-14  501  static inline void mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  502  				    enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  503  {
c47d5032ed3002 Shakeel Butt              2020-12-14  504  	mod_node_page_state(lruvec_pgdat(lruvec), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  505  }
c47d5032ed3002 Shakeel Butt              2020-12-14  506  
c47d5032ed3002 Shakeel Butt              2020-12-14  507  static inline void __mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  508  					   enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  509  {
c47d5032ed3002 Shakeel Butt              2020-12-14 @510  	__mod_node_page_state(page_pgdat(page), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  511  }
c47d5032ed3002 Shakeel Butt              2020-12-14  512  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 33840 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH 27/29] mm: anon spf statistics
Date: Sat, 01 May 2021 06:52:22 +0800	[thread overview]
Message-ID: <202105010601.Oo5yNktn-lkp@intel.com> (raw)
In-Reply-To: <20210430195232.30491-28-michel@lespinasse.org>

[-- Attachment #1: Type: text/plain, Size: 23750 bytes --]

Hi Michel,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on tip/x86/mm]
[also build test ERROR on arm64/for-next/core linus/master v5.12]
[cannot apply to hnaz-linux-mm/master next-20210430]
[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]

url:    https://github.com/0day-ci/linux/commits/Michel-Lespinasse/Speculative-page-faults-anon-vmas-only/20210501-035602
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git a500fc918f7b8dc3dff2e6c74f3e73e856c18248
config: nios2-randconfig-r014-20210501 (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/4c848aa85ff1e5b3a01dde75e9facbe9cb7b8120
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Michel-Lespinasse/Speculative-page-faults-anon-vmas-only/20210501-035602
        git checkout 4c848aa85ff1e5b3a01dde75e9facbe9cb7b8120
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=nios2 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h: In function '__inc_zone_page_state':
>> include/linux/vmstat.h:362:19: error: implicit declaration of function 'page_zone' [-Werror=implicit-function-declaration]
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~
>> include/linux/vmstat.h:362:19: warning: passing argument 1 of '__inc_zone_state' makes pointer from integer without a cast [-Wint-conversion]
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:335:50: note: expected 'struct zone *' but argument is of type 'int'
     335 | static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
         |                                     ~~~~~~~~~~~~~^~~~
   include/linux/vmstat.h: In function '__inc_node_page_state':
>> include/linux/vmstat.h:368:19: error: implicit declaration of function 'page_pgdat'; did you mean 'page_private'? [-Werror=implicit-function-declaration]
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~
         |                   page_private
>> include/linux/vmstat.h:368:19: warning: passing argument 1 of '__inc_node_state' makes pointer from integer without a cast [-Wint-conversion]
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:341:57: note: expected 'struct pglist_data *' but argument is of type 'int'
     341 | static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
         |                                     ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function '__dec_zone_page_state':
>> include/linux/vmstat.h:375:19: warning: passing argument 1 of '__dec_zone_state' makes pointer from integer without a cast [-Wint-conversion]
     375 |  __dec_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:347:50: note: expected 'struct zone *' but argument is of type 'int'
     347 | static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
         |                                     ~~~~~~~~~~~~~^~~~
   include/linux/vmstat.h: In function '__dec_node_page_state':
>> include/linux/vmstat.h:381:19: warning: passing argument 1 of '__dec_node_state' makes pointer from integer without a cast [-Wint-conversion]
     381 |  __dec_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~~~~~~~
         |                   |
         |                   int
   include/linux/vmstat.h:353:57: note: expected 'struct pglist_data *' but argument is of type 'int'
     353 | static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
         |                                     ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function '__mod_lruvec_page_state':
>> include/linux/vmstat.h:510:24: warning: passing argument 1 of '__mod_node_page_state' makes pointer from integer without a cast [-Wint-conversion]
     510 |  __mod_node_page_state(page_pgdat(page), idx, val);
         |                        ^~~~~~~~~~~~~~~~
         |                        |
         |                        int
   include/linux/vmstat.h:318:62: note: expected 'struct pglist_data *' but argument is of type 'int'
     318 | static inline void __mod_node_page_state(struct pglist_data *pgdat,
         |                                          ~~~~~~~~~~~~~~~~~~~~^~~~~
   include/linux/vmstat.h: In function 'mod_lruvec_page_state':
   include/linux/vmstat.h:516:22: warning: passing argument 1 of '__mod_node_page_state' makes pointer from integer without a cast [-Wint-conversion]
     516 |  mod_node_page_state(page_pgdat(page), idx, val);
         |                      ^~~~~~~~~~~~~~~~
         |                      |
         |                      int
   include/linux/vmstat.h:318:62: note: expected 'struct pglist_data *' but argument is of type 'int'
     318 | static inline void __mod_node_page_state(struct pglist_data *pgdat,
         |                                          ~~~~~~~~~~~~~~~~~~~~^~~~~
   In file included from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/mm.h: At top level:
>> include/linux/mm.h:1483:28: error: conflicting types for 'page_zone'
    1483 | static inline struct zone *page_zone(const struct page *page)
         |                            ^~~~~~~~~
   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h:362:19: note: previous implicit declaration of 'page_zone' was here
     362 |  __inc_zone_state(page_zone(page), item);
         |                   ^~~~~~~~~
   In file included from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
>> include/linux/mm.h:1488:26: error: conflicting types for 'page_pgdat'
    1488 | static inline pg_data_t *page_pgdat(const struct page *page)
         |                          ^~~~~~~~~~
   In file included from include/linux/mmap_lock.h:10,
                    from include/linux/mm.h:18,
                    from include/linux/pid_namespace.h:7,
                    from include/linux/ptrace.h:10,
                    from arch/nios2/kernel/asm-offsets.c:9:
   include/linux/vmstat.h:368:19: note: previous implicit declaration of 'page_pgdat' was here
     368 |  __inc_node_state(page_pgdat(page), item);
         |                   ^~~~~~~~~~
   cc1: some warnings being treated as errors
   make[2]: *** [scripts/Makefile.build:116: arch/nios2/kernel/asm-offsets.s] Error 1
   make[2]: Target '__build' not remade because of errors.
   make[1]: *** [Makefile:1233: prepare0] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:215: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +/page_zone +362 include/linux/vmstat.h

75ef7184053989 Mel Gorman                2016-07-28  334  
7f4599e9cd6bca Christoph Lameter         2006-07-10 @335  static inline void __inc_zone_state(struct zone *zone, enum zone_stat_item item)
7f4599e9cd6bca Christoph Lameter         2006-07-10  336  {
7f4599e9cd6bca Christoph Lameter         2006-07-10  337  	atomic_long_inc(&zone->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  338  	atomic_long_inc(&vm_zone_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  339  }
75ef7184053989 Mel Gorman                2016-07-28  340  
75ef7184053989 Mel Gorman                2016-07-28  341  static inline void __inc_node_state(struct pglist_data *pgdat, enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  342  {
75ef7184053989 Mel Gorman                2016-07-28  343  	atomic_long_inc(&pgdat->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  344  	atomic_long_inc(&vm_node_stat[item]);
7f4599e9cd6bca Christoph Lameter         2006-07-10  345  }
7f4599e9cd6bca Christoph Lameter         2006-07-10  346  
c878538598d1e7 Christoph Lameter         2007-02-10  347  static inline void __dec_zone_state(struct zone *zone, enum zone_stat_item item)
c878538598d1e7 Christoph Lameter         2007-02-10  348  {
c878538598d1e7 Christoph Lameter         2007-02-10  349  	atomic_long_dec(&zone->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  350  	atomic_long_dec(&vm_zone_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  351  }
75ef7184053989 Mel Gorman                2016-07-28  352  
75ef7184053989 Mel Gorman                2016-07-28  353  static inline void __dec_node_state(struct pglist_data *pgdat, enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  354  {
75ef7184053989 Mel Gorman                2016-07-28  355  	atomic_long_dec(&pgdat->vm_stat[item]);
75ef7184053989 Mel Gorman                2016-07-28  356  	atomic_long_dec(&vm_node_stat[item]);
c878538598d1e7 Christoph Lameter         2007-02-10  357  }
c878538598d1e7 Christoph Lameter         2007-02-10  358  
6a3ed2123a78de Johannes Weiner           2014-04-03  359  static inline void __inc_zone_page_state(struct page *page,
6a3ed2123a78de Johannes Weiner           2014-04-03  360  			enum zone_stat_item item)
6a3ed2123a78de Johannes Weiner           2014-04-03  361  {
6a3ed2123a78de Johannes Weiner           2014-04-03 @362  	__inc_zone_state(page_zone(page), item);
6a3ed2123a78de Johannes Weiner           2014-04-03  363  }
6a3ed2123a78de Johannes Weiner           2014-04-03  364  
75ef7184053989 Mel Gorman                2016-07-28  365  static inline void __inc_node_page_state(struct page *page,
75ef7184053989 Mel Gorman                2016-07-28  366  			enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  367  {
75ef7184053989 Mel Gorman                2016-07-28 @368  	__inc_node_state(page_pgdat(page), item);
75ef7184053989 Mel Gorman                2016-07-28  369  }
75ef7184053989 Mel Gorman                2016-07-28  370  
75ef7184053989 Mel Gorman                2016-07-28  371  
2244b95a7bcf8d Christoph Lameter         2006-06-30  372  static inline void __dec_zone_page_state(struct page *page,
2244b95a7bcf8d Christoph Lameter         2006-06-30  373  			enum zone_stat_item item)
2244b95a7bcf8d Christoph Lameter         2006-06-30  374  {
57ce36feb4d128 Uwe Kleine-König          2008-02-25 @375  	__dec_zone_state(page_zone(page), item);
2244b95a7bcf8d Christoph Lameter         2006-06-30  376  }
2244b95a7bcf8d Christoph Lameter         2006-06-30  377  
75ef7184053989 Mel Gorman                2016-07-28  378  static inline void __dec_node_page_state(struct page *page,
75ef7184053989 Mel Gorman                2016-07-28  379  			enum node_stat_item item)
75ef7184053989 Mel Gorman                2016-07-28  380  {
75ef7184053989 Mel Gorman                2016-07-28 @381  	__dec_node_state(page_pgdat(page), item);
75ef7184053989 Mel Gorman                2016-07-28  382  }
75ef7184053989 Mel Gorman                2016-07-28  383  
75ef7184053989 Mel Gorman                2016-07-28  384  
2244b95a7bcf8d Christoph Lameter         2006-06-30  385  /*
2244b95a7bcf8d Christoph Lameter         2006-06-30  386   * We only use atomic operations to update counters. So there is no need to
2244b95a7bcf8d Christoph Lameter         2006-06-30  387   * disable interrupts.
2244b95a7bcf8d Christoph Lameter         2006-06-30  388   */
2244b95a7bcf8d Christoph Lameter         2006-06-30  389  #define inc_zone_page_state __inc_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  390  #define dec_zone_page_state __dec_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  391  #define mod_zone_page_state __mod_zone_page_state
2244b95a7bcf8d Christoph Lameter         2006-06-30  392  
75ef7184053989 Mel Gorman                2016-07-28  393  #define inc_node_page_state __inc_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  394  #define dec_node_page_state __dec_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  395  #define mod_node_page_state __mod_node_page_state
75ef7184053989 Mel Gorman                2016-07-28  396  
6a3ed2123a78de Johannes Weiner           2014-04-03  397  #define inc_zone_state __inc_zone_state
75ef7184053989 Mel Gorman                2016-07-28  398  #define inc_node_state __inc_node_state
6a3ed2123a78de Johannes Weiner           2014-04-03  399  #define dec_zone_state __dec_zone_state
6a3ed2123a78de Johannes Weiner           2014-04-03  400  
b44129b30652c8 Mel Gorman                2011-01-13  401  #define set_pgdat_percpu_threshold(pgdat, callback) { }
88f5acf88ae6a9 Mel Gorman                2011-01-13  402  
a6cccdc36c966e KOSAKI Motohiro           2011-05-24  403  static inline void refresh_zone_stat_thresholds(void) { }
2bb921e5266565 Christoph Lameter         2013-09-11  404  static inline void cpu_vm_stats_fold(int cpu) { }
0eb77e98803219 Christoph Lameter         2016-01-14  405  static inline void quiet_vmstat(void) { }
a6cccdc36c966e KOSAKI Motohiro           2011-05-24  406  
5a883813845a2b Minchan Kim               2012-10-08  407  static inline void drain_zonestat(struct zone *zone,
5a883813845a2b Minchan Kim               2012-10-08  408  			struct per_cpu_pageset *pset) { }
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  409  #endif		/* CONFIG_SMP */
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  410  
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  411  static inline void __mod_zone_freepage_state(struct zone *zone, int nr_pages,
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  412  					     int migratetype)
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  413  {
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  414  	__mod_zone_page_state(zone, NR_FREE_PAGES, nr_pages);
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  415  	if (is_migrate_cma(migratetype))
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  416  		__mod_zone_page_state(zone, NR_FREE_CMA_PAGES, nr_pages);
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  417  }
d1ce749a0db122 Bartlomiej Zolnierkiewicz 2012-10-08  418  
fa25c503dfa203 KOSAKI Motohiro           2011-05-24  419  extern const char * const vmstat_text[];
2244b95a7bcf8d Christoph Lameter         2006-06-30  420  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  421  static inline const char *zone_stat_name(enum zone_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  422  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  423  	return vmstat_text[item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  424  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  425  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  426  #ifdef CONFIG_NUMA
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  427  static inline const char *numa_stat_name(enum numa_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  428  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  429  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  430  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  431  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  432  #endif /* CONFIG_NUMA */
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  433  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  434  static inline const char *node_stat_name(enum node_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  435  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  436  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  437  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  438  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  439  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  440  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  441  static inline const char *lru_list_name(enum lru_list lru)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  442  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  443  	return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  444  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  445  
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  446  static inline const char *writeback_stat_name(enum writeback_stat_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  447  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  448  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  449  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  450  			   NR_VM_NODE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  451  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  452  }
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  453  
ebc5d83d044381 Konstantin Khlebnikov     2019-12-04  454  #if defined(CONFIG_VM_EVENT_COUNTERS) || defined(CONFIG_MEMCG)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  455  static inline const char *vm_event_name(enum vm_event_item item)
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  456  {
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  457  	return vmstat_text[NR_VM_ZONE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  458  			   NR_VM_NUMA_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  459  			   NR_VM_NODE_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  460  			   NR_VM_WRITEBACK_STAT_ITEMS +
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  461  			   item];
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  462  }
ebc5d83d044381 Konstantin Khlebnikov     2019-12-04  463  #endif /* CONFIG_VM_EVENT_COUNTERS || CONFIG_MEMCG */
9d7ea9a297e644 Konstantin Khlebnikov     2019-12-04  464  
c47d5032ed3002 Shakeel Butt              2020-12-14  465  #ifdef CONFIG_MEMCG
c47d5032ed3002 Shakeel Butt              2020-12-14  466  
c47d5032ed3002 Shakeel Butt              2020-12-14  467  void __mod_lruvec_state(struct lruvec *lruvec, enum node_stat_item idx,
c47d5032ed3002 Shakeel Butt              2020-12-14  468  			int val);
c47d5032ed3002 Shakeel Butt              2020-12-14  469  
c47d5032ed3002 Shakeel Butt              2020-12-14  470  static inline void mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  471  				    enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  472  {
c47d5032ed3002 Shakeel Butt              2020-12-14  473  	unsigned long flags;
c47d5032ed3002 Shakeel Butt              2020-12-14  474  
c47d5032ed3002 Shakeel Butt              2020-12-14  475  	local_irq_save(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  476  	__mod_lruvec_state(lruvec, idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  477  	local_irq_restore(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  478  }
c47d5032ed3002 Shakeel Butt              2020-12-14  479  
c47d5032ed3002 Shakeel Butt              2020-12-14  480  void __mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  481  			     enum node_stat_item idx, int val);
c47d5032ed3002 Shakeel Butt              2020-12-14  482  
c47d5032ed3002 Shakeel Butt              2020-12-14  483  static inline void mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  484  					 enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  485  {
c47d5032ed3002 Shakeel Butt              2020-12-14  486  	unsigned long flags;
c47d5032ed3002 Shakeel Butt              2020-12-14  487  
c47d5032ed3002 Shakeel Butt              2020-12-14  488  	local_irq_save(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  489  	__mod_lruvec_page_state(page, idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  490  	local_irq_restore(flags);
c47d5032ed3002 Shakeel Butt              2020-12-14  491  }
c47d5032ed3002 Shakeel Butt              2020-12-14  492  
c47d5032ed3002 Shakeel Butt              2020-12-14  493  #else
c47d5032ed3002 Shakeel Butt              2020-12-14  494  
c47d5032ed3002 Shakeel Butt              2020-12-14  495  static inline void __mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  496  				      enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  497  {
c47d5032ed3002 Shakeel Butt              2020-12-14  498  	__mod_node_page_state(lruvec_pgdat(lruvec), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  499  }
c47d5032ed3002 Shakeel Butt              2020-12-14  500  
c47d5032ed3002 Shakeel Butt              2020-12-14  501  static inline void mod_lruvec_state(struct lruvec *lruvec,
c47d5032ed3002 Shakeel Butt              2020-12-14  502  				    enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  503  {
c47d5032ed3002 Shakeel Butt              2020-12-14  504  	mod_node_page_state(lruvec_pgdat(lruvec), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  505  }
c47d5032ed3002 Shakeel Butt              2020-12-14  506  
c47d5032ed3002 Shakeel Butt              2020-12-14  507  static inline void __mod_lruvec_page_state(struct page *page,
c47d5032ed3002 Shakeel Butt              2020-12-14  508  					   enum node_stat_item idx, int val)
c47d5032ed3002 Shakeel Butt              2020-12-14  509  {
c47d5032ed3002 Shakeel Butt              2020-12-14 @510  	__mod_node_page_state(page_pgdat(page), idx, val);
c47d5032ed3002 Shakeel Butt              2020-12-14  511  }
c47d5032ed3002 Shakeel Butt              2020-12-14  512  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 33840 bytes --]

  reply	other threads:[~2021-04-30 22:53 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-30 19:52 [PATCH 00/29] Speculative page faults (anon vmas only) Michel Lespinasse
2021-04-30 19:52 ` [PATCH 01/29] mm: export dump_mm Michel Lespinasse
2021-04-30 19:52 ` [PATCH 02/29] mmap locking API: mmap_lock_is_contended returns a bool Michel Lespinasse
2021-04-30 19:52 ` [PATCH 03/29] mmap locking API: name the return values Michel Lespinasse
2021-04-30 19:52 ` [PATCH 04/29] do_anonymous_page: use update_mmu_tlb() Michel Lespinasse
2021-06-10  0:38   ` Suren Baghdasaryan
2021-06-10  0:38     ` Suren Baghdasaryan
2021-04-30 19:52 ` [PATCH 05/29] do_anonymous_page: reduce code duplication Michel Lespinasse
2021-04-30 19:52 ` [PATCH 06/29] mm: introduce CONFIG_SPECULATIVE_PAGE_FAULT Michel Lespinasse
2021-04-30 19:52 ` [PATCH 07/29] x86/mm: define ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT Michel Lespinasse
2021-04-30 19:52 ` [PATCH 08/29] mm: add FAULT_FLAG_SPECULATIVE flag Michel Lespinasse
2021-06-10  0:58   ` Suren Baghdasaryan
2021-06-10  0:58     ` Suren Baghdasaryan
2021-04-30 19:52 ` [PATCH 09/29] mm: add do_handle_mm_fault() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 10/29] mm: add per-mm mmap sequence counter for speculative page fault handling Michel Lespinasse
2021-04-30 19:52 ` [PATCH 11/29] mm: rcu safe vma freeing Michel Lespinasse
2021-04-30 19:52 ` [PATCH 12/29] x86/mm: attempt speculative mm faults first Michel Lespinasse
2021-04-30 19:52 ` [PATCH 13/29] mm: add speculative_page_walk_begin() and speculative_page_walk_end() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 14/29] mm: refactor __handle_mm_fault() / handle_pte_fault() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 15/29] mm: implement speculative handling in __handle_mm_fault() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 16/29] mm: add pte_map_lock() and pte_spinlock() Michel Lespinasse
2021-04-30 23:33   ` kernel test robot
2021-04-30 23:33     ` kernel test robot
2021-04-30 23:45   ` kernel test robot
2021-04-30 23:45     ` kernel test robot
2021-04-30 19:52 ` [PATCH 17/29] mm: implement speculative handling in do_anonymous_page() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 18/29] mm: enable speculative fault handling through do_anonymous_page() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 19/29] mm: implement speculative handling in do_numa_page() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 20/29] mm: enable speculative fault " Michel Lespinasse
2021-04-30 19:52 ` [PATCH 21/29] mm: implement speculative handling in wp_page_copy() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 22/29] mm: implement and enable speculative fault handling in handle_pte_fault() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 23/29] mm: implement speculative handling in do_swap_page() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 24/29] mm: enable speculative fault handling through do_swap_page() Michel Lespinasse
2021-04-30 19:52 ` [PATCH 25/29] mm: disable speculative faults for single threaded user space Michel Lespinasse
2021-04-30 19:52 ` [PATCH 26/29] mm: disable rcu safe vma freeing " Michel Lespinasse
2021-04-30 19:52 ` [PATCH 27/29] mm: anon spf statistics Michel Lespinasse
2021-04-30 22:52   ` kernel test robot [this message]
2021-04-30 22:52     ` kernel test robot
2021-04-30 19:52 ` [PATCH 28/29] arm64/mm: define ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT Michel Lespinasse
2021-04-30 19:52 ` [PATCH 29/29] arm64/mm: attempt speculative mm faults first Michel Lespinasse
2021-04-30 19:52 ` [PATCH 30/31] powerpc/mm: define ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT Michel Lespinasse
2021-04-30 19:52 ` [PATCH 31/31] powerpc/mm: attempt speculative mm faults first Michel Lespinasse
2021-04-30 22:46 ` [PATCH 00/29] Speculative page faults (anon vmas only) Michel Lespinasse
2021-05-03 18:11   ` Michel Lespinasse
2021-05-17 17:57     ` Paul E. McKenney
2021-05-20 22:10       ` Suren Baghdasaryan
2021-05-20 22:10         ` Suren Baghdasaryan
2021-05-20 23:08         ` Paul E. McKenney
2021-06-01  7:41         ` Michel Lespinasse
2021-06-01 20:18           ` Paul E. McKenney
2021-06-01 20:23         ` Paul E. McKenney
2021-06-14  7:04         ` Michel Lespinasse
2021-05-01 19:56 ` Theodore Ts'o
2021-05-01 21:19   ` Michel Lespinasse
2021-06-17 13:46 ` David Hildenbrand
2021-07-09 10:41   ` David Hildenbrand

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=202105010601.Oo5yNktn-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=kbuild-all@lists.01.org \
    --cc=ldufour@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=mhocko@suse.com \
    --cc=michel@lespinasse.org \
    --cc=paulmck@kernel.org \
    --cc=peterz@infradead.org \
    --cc=riel@surriel.com \
    --cc=surenb@google.com \
    --cc=willy@infradead.org \
    /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.