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