On Fri, Jul 24, 2020 at 3:13 PM Alexei Starovoitov <alexei.starovoi...@gmail.com> wrote: > > On Fri, Jul 24, 2020 at 6:38 AM Willem de Bruijn > <willemdebruijn.ker...@gmail.com> wrote: > > > > On Fri, Jul 24, 2020 at 2:13 AM Kuniyuki Iwashima <kun...@amazon.co.jp> > > wrote: > > > > > > From: David Miller <da...@davemloft.net> > > > Date: Thu, 23 Jul 2020 15:10:51 -0700 (PDT) > > > > From: Kuniyuki Iwashima <kun...@amazon.co.jp> > > > > Date: Thu, 23 Jul 2020 01:52:27 +0900 > > > > > > > > > This patch removes an unnecessary variable in udp[46]_lib_lookup2() > > > > > and > > > > > makes it easier to resolve a merge conflict with bpf-next reported in > > > > > the link below. > > > > > > > > > > Link: > > > > > https://lore.kernel.org/linux-next/20200722132143.700a5...@canb.auug.org.au/ > > > > > Fixes: efc6b6f6c311 ("udp: Improve load balancing for SO_REUSEPORT.") > > > > > Signed-off-by: Kuniyuki Iwashima <kun...@amazon.co.jp> > > > > > Signed-off-by: Jakub Sitnicki <ja...@cloudflare.com> > > > > > Cc: Willem de Bruijn <willemdebruijn.ker...@gmail.com> > > > > > > > > This doesn't apply to net-next. > > > > > > Yes. I think this kind of patch should be submitted to net-next, but this > > > is for the net tree. Please let me add more description. > > > > > > Currently, the net and net-next trees conflict in udp[46]_lib_lookup2() > > > between > > > > > > efc6b6f6c311 ("udp: Improve load balancing for SO_REUSEPORT.") > > > > > > and > > > > > > 7629c73a1466 ("udp: Extract helper for selecting socket from reuseport > > > group") > > > 2a08748cd384 ("udp6: Extract helper for selecting socket from > > > reuseport group") > > > . > > > > > > The conflict is reported in the link[0] and Jakub suggested how to resolve > > > it[1]. To ease the merge conflict, Jakub and I have to send follow up > > > patches to > > > the bpf-next and net trees. > > > > > > Now, his patchset (7629c73a1466 and 2a08748cd384) to bpf-next is merged > > > into net-next, and his follow up patch is applied in bpf-next[2]. > > > > > > I fixed a bug in efc6b6f6c311, but it introduced an unnecessary variable > > > and made the conflict worse. So I sent this follow up patch to net tree. > > > > > > However, I do not know the best way to resolve the conflict, so any > > > comments > > > are welcome. > > > > Perhaps simpler is to apply this change to bpf-next: > > I'm fine whichever way. > Could you please submit an official patch?
http://patchwork.ozlabs.org/project/netdev/patch/20200725025457.1004164-1-willemdebruijn.ker...@gmail.com/ Not sure whether it helps vs doing this as part of the merge conflict (which remains). Either way after conflict resolution should be " static struct sock *udp4_lib_lookup2(struct net *net, __be32 saddr, __be16 sport, __be32 daddr, unsigned int hnum, int dif, int sdif, struct udp_hslot *hslot2, struct sk_buff *skb) { struct sock *sk, *result; int score, badness; result = NULL; badness = 0; udp_portaddr_for_each_entry_rcu(sk, &hslot2->head) { score = compute_score(sk, net, saddr, sport, daddr, hnum, dif, sdif); if (score > badness) { result = lookup_reuseport(net, sk, skb, saddr, sport, daddr, hnum); if (result && !reuseport_has_conns(sk, false)) return result; badness = score; if (!result) result = sk; } } return result; } "