[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YzNRIep0dLbT2HGr@yury-laptop>
Date: Tue, 27 Sep 2022 12:38:09 -0700
From: Yury Norov <yury.norov@...il.com>
To: broonie@...nel.org
Cc: Andrew Morton <akpm@...ux-foundation.org>,
"Aneesh Kumar K . V" <aneesh.kumar@...ux.ibm.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Linux Next Mailing List <linux-next@...r.kernel.org>
Subject: Re: linux-next: manual merge of the mm-stable tree with the bitmap
tree
On Tue, Sep 27, 2022 at 08:26:49PM +0100, broonie@...nel.org wrote:
> Hi all,
>
> Today's linux-next merge of the mm-stable tree got a conflict in:
>
> include/linux/nodemask.h
>
> between commit:
>
> 97848c10f9f8a ("lib/bitmap: remove bitmap_ord_to_pos")
>
> from the bitmap tree and commit:
>
> 3e061d924fe9c ("lib/nodemask: optimize node_random for nodemask with single NUMA node")
>
> from the mm-stable tree.
The fix is correct. I sent the updated patch to Stephen, and
apparently had to CC you. Thanks.
>
> 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.
>
> diff --cc include/linux/nodemask.h
> index 0c45fb066caa7,e66742db741cf..0000000000000
> --- a/include/linux/nodemask.h
> +++ b/include/linux/nodemask.h
> @@@ -504,11 -505,21 +505,20 @@@ static inline int num_node_state(enum n
> static inline int node_random(const nodemask_t *maskp)
> {
> #if defined(CONFIG_NUMA) && (MAX_NUMNODES > 1)
> - int w, bit = NUMA_NO_NODE;
> + int w, bit;
>
> w = nodes_weight(*maskp);
> - if (w)
> + switch (w) {
> + case 0:
> + bit = NUMA_NO_NODE;
> + break;
> + case 1:
> + bit = first_node(*maskp);
> + break;
> + default:
> - bit = bitmap_ord_to_pos(maskp->bits,
> - get_random_int() % w, MAX_NUMNODES);
> + bit = find_nth_bit(maskp->bits, MAX_NUMNODES, get_random_int() % w);
> + break;
> + }
> return bit;
> #else
> return 0;
Powered by blists - more mailing lists