CC: [email protected]
In-Reply-To: <[email protected]>
References: <[email protected]>
TO: Nicolas Saenz Julienne <[email protected]>
TO: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]
CC: [email protected]

Hi Nicolas,

I love your patch! Perhaps something to improve:

[auto build test WARNING on hnaz-mm/master]

url:    
https://github.com/0day-ci/linux/commits/Nicolas-Saenz-Julienne/mm-page_alloc-Remote-per-cpu-page-list-drain-support/20211104-010825
base:   https://github.com/hnaz/linux-mm master
:::::: branch date: 8 days ago
:::::: commit date: 8 days ago
config: openrisc-randconfig-m031-20211103 (attached as .config)
compiler: or1k-linux-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
mm/page_alloc.c:3446 free_unref_page_list() error: uninitialized symbol 'flags'.

vim +/flags +3446 mm/page_alloc.c

^1da177e4c3f41 Linus Torvalds         2005-04-16  3402  
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3403  /*
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3404   * Free a list of 
0-order pages
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3405   */
2d4894b5d2ae0f Mel Gorman             2017-11-15  3406  void 
free_unref_page_list(struct list_head *list)
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3407  {
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3408          struct page 
*page, *next;
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3409          spinlock_t 
*lock = NULL;
69c421f2b49b31 Nicolas Saenz Julienne 2021-11-03  3410          unsigned long 
flags;
c24ad77d962c31 Lucas Stach            2017-12-14  3411          int batch_count 
= 0;
df1acc856923c0 Mel Gorman             2021-06-28  3412          int migratetype;
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3413  
9cca35d42eb61b Mel Gorman             2017-11-15  3414          /* Prepare 
pages for freeing */
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3415          
list_for_each_entry_safe(page, next, list, lru) {
69c421f2b49b31 Nicolas Saenz Julienne 2021-11-03  3416                  
unsigned long pfn = page_to_pfn(page);
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3417  
053cfda102306a Miaohe Lin             2021-09-08  3418                  if 
(!free_unref_page_prepare(page, pfn, 0)) {
9cca35d42eb61b Mel Gorman             2017-11-15  3419                          
list_del(&page->lru);
053cfda102306a Miaohe Lin             2021-09-08  3420                          
continue;
053cfda102306a Miaohe Lin             2021-09-08  3421                  }
df1acc856923c0 Mel Gorman             2021-06-28  3422  
df1acc856923c0 Mel Gorman             2021-06-28  3423                  /*
df1acc856923c0 Mel Gorman             2021-06-28  3424                   * Free 
isolated pages directly to the allocator, see
df1acc856923c0 Mel Gorman             2021-06-28  3425                   * 
comment in free_unref_page.
df1acc856923c0 Mel Gorman             2021-06-28  3426                   */
df1acc856923c0 Mel Gorman             2021-06-28  3427                  
migratetype = get_pcppage_migratetype(page);
df1acc856923c0 Mel Gorman             2021-06-28  3428                  if 
(unlikely(is_migrate_isolate(migratetype))) {
9cca35d42eb61b Mel Gorman             2017-11-15  3429                          
list_del(&page->lru);
47aef6010b8376 Doug Berger            2021-08-19  3430                          
free_one_page(page_zone(page), page, pfn, 0, migratetype, FPI_NONE);
df1acc856923c0 Mel Gorman             2021-06-28  3431                          
continue;
df1acc856923c0 Mel Gorman             2021-06-28  3432                  }
9cca35d42eb61b Mel Gorman             2017-11-15  3433          }
9cca35d42eb61b Mel Gorman             2017-11-15  3434  
9cca35d42eb61b Mel Gorman             2017-11-15  3435          
list_for_each_entry_safe(page, next, list, lru) {
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3436                  struct 
per_cpu_pages *pcp = this_cpu_ptr(page_zone(page)->per_cpu_pageset);
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3437  
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3438                  /*
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3439                   * As 
an optimization, release the previously held lock only if
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3440                   * the 
page belongs to a different zone. But also, guard
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3441                   * 
against excessive IRQ disabled times when we get a large
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3442                   * list 
of pages to free.
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3443                   */
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3444                  if 
(++batch_count == SWAP_CLUSTER_MAX ||
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3445                      
(lock != &pcp->lock && lock)) {
5541e536595406 Nicolas Saenz Julienne 2021-11-03 @3446                          
spin_unlock_irqrestore(lock, flags);
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3447                          
batch_count = 0;
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3448                          
lock = NULL;
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3449                  }
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3450  
47aef6010b8376 Doug Berger            2021-08-19  3451                  /*
47aef6010b8376 Doug Berger            2021-08-19  3452                   * 
Non-isolated types over MIGRATE_PCPTYPES get added
47aef6010b8376 Doug Berger            2021-08-19  3453                   * to 
the MIGRATE_MOVABLE pcp list.
47aef6010b8376 Doug Berger            2021-08-19  3454                   */
df1acc856923c0 Mel Gorman             2021-06-28  3455                  
migratetype = get_pcppage_migratetype(page);
47aef6010b8376 Doug Berger            2021-08-19  3456                  if 
(unlikely(migratetype >= MIGRATE_PCPTYPES))
47aef6010b8376 Doug Berger            2021-08-19  3457                          
migratetype = MIGRATE_MOVABLE;
47aef6010b8376 Doug Berger            2021-08-19  3458  
2d4894b5d2ae0f Mel Gorman             2017-11-15  3459                  
trace_mm_page_free_batched(page);
c24ad77d962c31 Lucas Stach            2017-12-14  3460  
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3461                  if 
(!lock) {
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3462                          
spin_lock_irqsave(&pcp->lock, flags);
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3463                          
lock = &pcp->lock;
c24ad77d962c31 Lucas Stach            2017-12-14  3464                  }
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3465  
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3466                  
free_unref_page_commit(page, pcp, migratetype, 0);
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3467          }
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3468  
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3469          if (lock)
5541e536595406 Nicolas Saenz Julienne 2021-11-03  3470                  
spin_unlock_irqrestore(lock, flags);
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3471  }
cc59850ef940e4 Konstantin Khlebnikov  2012-01-10  3472  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to