[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202203251815.T2oLEgNJ-lkp@intel.com>
Date: Fri, 25 Mar 2022 14:11:33 +0300
From: Dan Carpenter <dan.carpenter@...cle.com>
To: kbuild@...ts.01.org, Nicolas Saenz Julienne <nsaenzju@...hat.com>
Cc: lkp@...el.com, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org
Subject: [nsaenz-rpi:pcpdrain-sl-v3r1 4/4] mm/page_alloc.c:3571
__rmqueue_pcplist() warn: ignoring unreachable code.
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
config: x86_64-randconfig-m001 (https://download.01.org/0day-ci/archive/20220325/202203251815.T2oLEgNJ-lkp@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 <lkp@...el.com>
Reported-by: Dan Carpenter <dan.carpenter@...cle.com>
smatch warnings:
mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code.
vim +3571 mm/page_alloc.c
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;
The return statement needs to be deleted
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 }
--
0-DAY CI Kernel Test Service
https://01.org/lkp
Powered by blists - more mailing lists