On Tue, Sep 27, 2022 at 08:26:49PM +0100, broonie@xxxxxxxxxx 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;