All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: [nsaenz-rpi:pcpdrain-sl-v3r1 4/4] mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code.
Date: Fri, 25 Mar 2022 19:02:49 +0800	[thread overview]
Message-ID: <202203251815.T2oLEgNJ-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 5569 bytes --]

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Nicolas Saenz Julienne <nsaenzju@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-lkp(a)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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@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

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild-all@lists.01.org
Subject: [nsaenz-rpi:pcpdrain-sl-v3r1 4/4] mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code.
Date: Fri, 25 Mar 2022 14:11:33 +0300	[thread overview]
Message-ID: <202203251815.T2oLEgNJ-lkp@intel.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 5165 bytes --]

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(a)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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.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

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@lists.01.org, Nicolas Saenz Julienne <nsaenzju@redhat.com>
Cc: lkp@intel.com, kbuild-all@lists.01.org, linux-kernel@vger.kernel.org
Subject: [nsaenz-rpi:pcpdrain-sl-v3r1 4/4] mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code.
Date: Fri, 25 Mar 2022 14:11:33 +0300	[thread overview]
Message-ID: <202203251815.T2oLEgNJ-lkp@intel.com> (raw)

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@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.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


             reply	other threads:[~2022-03-25 11:02 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-25 11:02 kernel test robot [this message]
2022-03-25 11:11 ` [nsaenz-rpi:pcpdrain-sl-v3r1 4/4] mm/page_alloc.c:3571 __rmqueue_pcplist() warn: ignoring unreachable code Dan Carpenter
2022-03-25 11:11 ` Dan Carpenter

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=202203251815.T2oLEgNJ-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.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: link
Be 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.