[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20161221.132822.1241833684791529358.davem@davemloft.net>
Date: Wed, 21 Dec 2016 13:28:22 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: jbacik@...com
Cc: hannes@...essinduktion.org, kraigatgoog@...il.com,
eric.dumazet@...il.com, tom@...bertland.com,
netdev@...r.kernel.org, kernel-team@...com
Subject: Re: [PATCH 1/5 net-next] inet: replace ->bind_conflict with
->rcv_saddr_equal
From: Josef Bacik <jbacik@...com>
Date: Tue, 20 Dec 2016 15:07:00 -0500
> The only difference between inet6_csk_bind_conflict and inet_csk_bind_conflict
> is how they check the rcv_saddr. Since we want to be able to check the saddr in
> other places just drop the protocol specific ->bind_conflict and replace it with
> ->rcv_saddr_equal, then make inet_csk_bind_conflict the one true bind conflict
> function.
>
> Signed-off-by: Josef Bacik <jbacik@...com>
This may be a nice cleanup and all, but realize that if we do actually
have to traverse a lot of sockets this code has become significantly
slower.
We now have to execute a hard to predict indirect call for every
socket we process on the list.
This is almost certainly why we had two seperate functions expanded
rather than having an AF-specific helper execute in the inner loop
of a generic function.
Powered by blists - more mailing lists