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 --]
next prev parent 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: linkBe 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.