CC: kbuild-...@lists.01.org
BCC: l...@intel.com
CC: linux-ker...@vger.kernel.org
TO: Nicolas Saenz Julienne <nsaen...@redhat.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/nsaenz/linux-rpi.git 
pcpdrain-sl-v3r1
head:   9710838f0540b295e2ffc2ded307fe65a9fa7111
commit: 9710838f0540b295e2ffc2ded307fe65a9fa7111 [4/4] mm/page_alloc: Avoid 
disabling interruptions on hot paths
:::::: branch date: 16 hours ago
:::::: commit date: 16 hours ago
config: x86_64-randconfig-m001 
(https://download.01.org/0day-ci/archive/20220325/202203251815.t2olegnj-...@intel.com/config)
compiler: gcc-9 (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>
Reported-by: Dan Carpenter <dan.carpen...@oracle.com>

smatch warnings:
mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code.

vim +3571 mm/page_alloc.c

060e74173f292f Mel Gorman             2016-05-19  3530  
066b23935578d3 Mel Gorman             2017-02-24  3531  /* Remove page from the 
per-cpu list, caller must protect the list */
3b822017b636bf Jesper Dangaard Brouer 2021-04-29  3532  static inline
44042b4498728f Mel Gorman             2021-06-28  3533  struct page 
*__rmqueue_pcplist(struct zone *zone, unsigned int order,
44042b4498728f Mel Gorman             2021-06-28  3534                          
int migratetype,
6bb154504f8b49 Mel Gorman             2018-12-28  3535                          
unsigned int alloc_flags,
453f85d43fa9ee Mel Gorman             2017-11-15  3536                          
struct per_cpu_pages *pcp,
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3537                          
struct list_head *list,
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3538                          
bool locked)
^1da177e4c3f41 Linus Torvalds         2005-04-16  3539  {
689bcebfda16d7 Hugh Dickins           2005-11-21  3540          struct page 
*page;
^1da177e4c3f41 Linus Torvalds         2005-04-16  3541  
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3542          /*
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3543           * Is IRQ 
preempting or a parallel drain in progress?
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3544           *
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3545           * If pcp->lock 
cannot be acquired, the caller uses rmqueue_buddy
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3546           */
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3547          if 
(unlikely(!locked && !spin_trylock(&pcp->lock)))
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3548                 return 
NULL;
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3549  
479f854a207ce2 Mel Gorman             2016-05-19  3550          do {
5f8dcc21211a3d Mel Gorman             2009-09-21  3551                  if 
(list_empty(list)) {
44042b4498728f Mel Gorman             2021-06-28  3552                          
int batch = READ_ONCE(pcp->batch);
44042b4498728f Mel Gorman             2021-06-28  3553                          
int alloced;
44042b4498728f Mel Gorman             2021-06-28  3554  
44042b4498728f Mel Gorman             2021-06-28  3555                          
/*
44042b4498728f Mel Gorman             2021-06-28  3556                          
 * Scale batch relative to order if batch implies
44042b4498728f Mel Gorman             2021-06-28  3557                          
 * free pages can be stored on the PCP. Batch can
44042b4498728f Mel Gorman             2021-06-28  3558                          
 * be 1 for small zones or for boot pagesets which
44042b4498728f Mel Gorman             2021-06-28  3559                          
 * should never store free pages as the pages may
44042b4498728f Mel Gorman             2021-06-28  3560                          
 * belong to arbitrary zones.
44042b4498728f Mel Gorman             2021-06-28  3561                          
 */
44042b4498728f Mel Gorman             2021-06-28  3562                          
if (batch > 1)
44042b4498728f Mel Gorman             2021-06-28  3563                          
        batch = max(batch >> order, 2);
44042b4498728f Mel Gorman             2021-06-28  3564                          
alloced = rmqueue_bulk(zone, order,
44042b4498728f Mel Gorman             2021-06-28  3565                          
                batch, list,
6bb154504f8b49 Mel Gorman             2018-12-28  3566                          
                migratetype, alloc_flags);
44042b4498728f Mel Gorman             2021-06-28  3567  
44042b4498728f Mel Gorman             2021-06-28  3568                          
pcp->count += alloced << order;
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3569                          
if (unlikely(list_empty(list))) {
066b23935578d3 Mel Gorman             2017-02-24  3570                          
        return NULL;
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24 @3571                          
        goto out;
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3572                          
}
b92a6edd4b77a8 Mel Gorman             2007-10-16  3573                  }
b92a6edd4b77a8 Mel Gorman             2007-10-16  3574  
a16601c5458eb7 Geliang Tang           2016-01-14  3575                  page = 
list_first_entry(list, struct page, lru);
^1da177e4c3f41 Linus Torvalds         2005-04-16  3576                  
list_del(&page->lru);
44042b4498728f Mel Gorman             2021-06-28  3577                  
pcp->count -= 1 << order;
77fe7f136a7312 Mel Gorman             2022-03-22  3578          } while 
(check_new_pcp(page, order));
066b23935578d3 Mel Gorman             2017-02-24  3579  
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3580  out:
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3581          if (!locked)
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3582                  
spin_unlock(&pcp->lock);
9710838f0540b2 Nicolas Saenz Julienne 2022-03-24  3583  
066b23935578d3 Mel Gorman             2017-02-24  3584          return page;
066b23935578d3 Mel Gorman             2017-02-24  3585  }
066b23935578d3 Mel Gorman             2017-02-24  3586  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to