linux-next.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Rothwell <sfr@canb.auug.org.au>
To: Andrew Morton <akpm@linux-foundation.org>,
	Thomas Gleixner <tglx@linutronix.de>, Ingo Molnar <mingo@elte.hu>,
	"H. Peter Anvin" <hpa@zytor.com>,
	Peter Zijlstra <peterz@infradead.org>
Cc: Linux Next Mailing List <linux-next@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Alex Belits <abelits@marvell.com>,
	Nitesh Narayan Lal <nitesh@redhat.com>,
	yuqi jin <jinyuqi@huawei.com>,
	Shaokun Zhang <zhangshaokun@hisilicon.com>
Subject: linux-next: manual merge of the akpm-current tree with the tip tree
Date: Fri, 17 Jul 2020 20:19:33 +1000	[thread overview]
Message-ID: <20200717201933.210f3d27@canb.auug.org.au> (raw)

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

Hi all,

Today's linux-next merge of the akpm-current tree got a conflict in:

  lib/cpumask.c

between commit:

  1abdfe706a57 ("lib: Restrict cpumask_local_spread to houskeeping CPUs")

from the tip tree and commit:

  6f7ee3fd63c9 ("lib: optimize cpumask_local_spread()")

from the akpm-current tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

-- 
Cheers,
Stephen Rothwell

diff --cc lib/cpumask.c
index 85da6ab4fbb5,2fecbcd8c160..000000000000
--- a/lib/cpumask.c
+++ b/lib/cpumask.c
@@@ -6,7 -6,7 +6,8 @@@
  #include <linux/export.h>
  #include <linux/memblock.h>
  #include <linux/numa.h>
 +#include <linux/sched/isolation.h>
+ #include <linux/spinlock.h>
  
  /**
   * cpumask_next - get the next cpu in a cpumask
@@@ -193,40 -193,56 +194,61 @@@ void __init free_bootmem_cpumask_var(cp
  }
  #endif
  
- /**
-  * cpumask_local_spread - select the i'th cpu with local numa cpu's first
-  * @i: index number
-  * @node: local numa_node
-  *
-  * This function selects an online CPU according to a numa aware policy;
-  * local cpus are returned first, followed by non-local ones, then it
-  * wraps around.
-  *
-  * It's not very efficient, but useful for setup.
-  */
- unsigned int cpumask_local_spread(unsigned int i, int node)
+ static void calc_node_distance(int *node_dist, int node)
+ {
+ 	int i;
+ 
+ 	for (i = 0; i < nr_node_ids; i++)
+ 		node_dist[i] = node_distance(node, i);
+ }
+ 
+ static int find_nearest_node(int *node_dist, bool *used)
+ {
+ 	int i, min_dist = node_dist[0], node_id = -1;
+ 
+ 	/* Choose the first unused node to compare */
+ 	for (i = 0; i < nr_node_ids; i++) {
+ 		if (used[i] == 0) {
+ 			min_dist = node_dist[i];
+ 			node_id = i;
+ 			break;
+ 		}
+ 	}
+ 
+ 	/* Compare and return the nearest node */
+ 	for (i = 0; i < nr_node_ids; i++) {
+ 		if (node_dist[i] < min_dist && used[i] == 0) {
+ 			min_dist = node_dist[i];
+ 			node_id = i;
+ 		}
+ 	}
+ 
+ 	return node_id;
+ }
+ 
+ static unsigned int __cpumask_local_spread(unsigned int i, int node)
  {
 -	int cpu;
 +	int cpu, hk_flags;
 +	const struct cpumask *mask;
  
 +	hk_flags = HK_FLAG_DOMAIN | HK_FLAG_MANAGED_IRQ;
 +	mask = housekeeping_cpumask(hk_flags);
  	/* Wrap: we always want a cpu. */
 -	i %= num_online_cpus();
 +	i %= cpumask_weight(mask);
  
  	if (node == NUMA_NO_NODE) {
 -		for_each_cpu(cpu, cpu_online_mask)
 +		for_each_cpu(cpu, mask) {
  			if (i-- == 0)
  				return cpu;
 +		}
  	} else {
  		/* NUMA first. */
 -		for_each_cpu_and(cpu, cpumask_of_node(node), cpu_online_mask)
 +		for_each_cpu_and(cpu, cpumask_of_node(node), mask) {
  			if (i-- == 0)
  				return cpu;
 +		}
  
 -		for_each_cpu(cpu, cpu_online_mask) {
 +		for_each_cpu(cpu, mask) {
  			/* Skip NUMA nodes, done above. */
  			if (cpumask_test_cpu(cpu, cpumask_of_node(node)))
  				continue;

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

             reply	other threads:[~2020-07-17 10:19 UTC|newest]

Thread overview: 112+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-07-17 10:19 Stephen Rothwell [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-02-16  5:38 linux-next: manual merge of the akpm-current tree with the tip tree Stephen Rothwell
2021-10-07  6:27 Stephen Rothwell
2021-03-22  6:12 Stephen Rothwell
2020-12-11  8:56 Stephen Rothwell
2020-12-11 12:47 ` Jason Gunthorpe
2020-11-27  7:48 Stephen Rothwell
2020-11-27  7:39 Stephen Rothwell
2020-11-27 11:54 ` Andy Shevchenko
2020-11-30  9:27   ` Thomas Gleixner
2020-11-23  8:05 Stephen Rothwell
2020-11-09  6:00 Stephen Rothwell
2020-10-13  6:59 Stephen Rothwell
2020-05-29 11:05 Stephen Rothwell
2020-05-29 10:18 Stephen Rothwell
2020-05-29 10:05 Stephen Rothwell
2020-05-29  9:58 Stephen Rothwell
2020-05-25 11:04 Stephen Rothwell
2020-05-26  4:41 ` Singh, Balbir
2020-06-03  4:43 ` Stephen Rothwell
2020-05-19 16:18 Stephen Rothwell
2020-03-25  7:48 Stephen Rothwell
2020-03-19  6:42 Stephen Rothwell
2020-01-20  6:37 Stephen Rothwell
2020-01-20  6:30 Stephen Rothwell
2019-10-31  5:43 Stephen Rothwell
2019-06-24 10:24 Stephen Rothwell
2019-05-01 11:10 Stephen Rothwell
2019-01-31  4:31 Stephen Rothwell
2018-08-20  4:32 Stephen Rothwell
2018-08-20 19:52 ` Andrew Morton
2018-03-23  5:59 Stephen Rothwell
2017-12-18  5:04 Stephen Rothwell
2017-11-10  4:33 Stephen Rothwell
2017-11-02  7:19 Stephen Rothwell
2017-08-22  6:57 Stephen Rothwell
2017-08-23  6:39 ` Vlastimil Babka
2017-08-11  7:53 Stephen Rothwell
2017-08-11  9:34 ` Peter Zijlstra
2017-08-11 10:48   ` Peter Zijlstra
2017-08-11 11:45   ` Stephen Rothwell
2017-08-11 11:56     ` Ingo Molnar
2017-08-11 12:17       ` Peter Zijlstra
2017-08-11 12:44         ` Ingo Molnar
2017-08-11 13:49           ` Stephen Rothwell
2017-08-11 14:04       ` Peter Zijlstra
2017-08-13  6:06         ` Nadav Amit
2017-08-13 12:50           ` Peter Zijlstra
2017-08-14  3:16             ` Minchan Kim
2017-08-14  5:07               ` Nadav Amit
2017-08-14  5:23                 ` Minchan Kim
2017-08-14  8:38                 ` Minchan Kim
2017-08-14 19:57                   ` Peter Zijlstra
2017-08-16  4:14                     ` Minchan Kim
2017-08-14 19:38                 ` Peter Zijlstra
2017-08-15  7:51                   ` Nadav Amit
2017-08-14  3:09         ` Minchan Kim
2017-08-14 18:54           ` Peter Zijlstra
2017-04-12  6:46 Stephen Rothwell
2017-04-12 20:53 ` Vlastimil Babka
2017-04-20  2:17   ` NeilBrown
2017-03-24  5:25 Stephen Rothwell
2017-02-17  4:40 Stephen Rothwell
2016-11-14  6:08 Stephen Rothwell
2016-07-29  4:14 Stephen Rothwell
2016-06-15  5:23 Stephen Rothwell
2016-06-18 19:39 ` Manfred Spraul
2016-04-29  6:12 Stephen Rothwell
2016-04-29  6:26 ` Ingo Molnar
2016-03-02  5:40 Stephen Rothwell
2016-02-26  5:07 Stephen Rothwell
2016-02-26 21:35 ` Andrew Morton
2016-02-19  4:09 Stephen Rothwell
2016-02-19 15:26 ` Ard Biesheuvel
2015-12-07  8:06 Stephen Rothwell
2015-10-02  4:21 Stephen Rothwell
2015-07-28  6:00 Stephen Rothwell
2015-07-29 17:12 ` Andrea Arcangeli
2015-07-29 17:47   ` Andy Lutomirski
2015-07-29 18:46     ` Thomas Gleixner
2015-07-30 15:38       ` Andrea Arcangeli
2015-07-29 23:06   ` Stephen Rothwell
2015-07-29 23:07     ` Thomas Gleixner
2015-09-07 23:35   ` Stephen Rothwell
2015-09-08 18:11     ` Linus Torvalds
2015-09-08 22:56       ` Stephen Rothwell
2015-09-08 23:03         ` Linus Torvalds
2015-09-08 23:21           ` Andrew Morton
2015-09-16  6:58             ` Geert Uytterhoeven
2015-06-04 12:07 Stephen Rothwell
2015-04-08  8:28 Stephen Rothwell
2015-04-08  8:25 Stephen Rothwell
2014-03-17  9:31 Stephen Rothwell
2014-03-17  9:36 ` Peter Zijlstra
2014-03-19 23:27   ` Andrew Morton
2014-01-14  4:53 Stephen Rothwell
2014-01-14  5:04 ` Davidlohr Bueso
2014-01-14 12:51 ` Peter Zijlstra
2014-01-14 13:17   ` Geert Uytterhoeven
2014-01-14 13:33     ` Peter Zijlstra
2014-01-14 16:19     ` H. Peter Anvin
2014-01-14 15:15   ` H. Peter Anvin
2014-01-14 15:20     ` Geert Uytterhoeven
2014-01-14 15:41       ` Peter Zijlstra
2014-01-14 15:48         ` H. Peter Anvin
2014-01-07  6:00 Stephen Rothwell
2014-01-07  6:34 ` Tang Chen
2013-11-08  7:48 Stephen Rothwell
2013-11-08 18:58 ` Josh Triplett
2013-11-08 23:20   ` Stephen Rothwell
2013-11-09  0:19     ` Josh Triplett
2013-10-30  6:40 Stephen Rothwell

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=20200717201933.210f3d27@canb.auug.org.au \
    --to=sfr@canb.auug.org.au \
    --cc=abelits@marvell.com \
    --cc=akpm@linux-foundation.org \
    --cc=hpa@zytor.com \
    --cc=jinyuqi@huawei.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-next@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=nitesh@redhat.com \
    --cc=peterz@infradead.org \
    --cc=tglx@linutronix.de \
    --cc=zhangshaokun@hisilicon.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).