From: Josef Bacik <jba...@fb.com>
Date: Tue, 20 Dec 2016 15:07:01 -0500

> In inet_csk_get_port we seem to be using smallest_port to figure out where the
> best place to look for a SO_REUSEPORT sk that matches with an existing set of
> SO_REUSEPORT's.  However if we get to the logic
> 
> if (smallest_size != -1) {
>       port = smallest_port;
>       goto have_port;
> }
> 
> we will do a useless search, because we would have already done the
> inet_csk_bind_conflict for that port and it would have returned 1, otherwise 
> we
> would have gone to found_tb and succeeded.  Since this logic makes us do yet
> another trip through inet_csk_bind_conflict for a port we know won't work just
> delete this code and save us the time.
> 
> Signed-off-by: Josef Bacik <jba...@fb.com>

So the "all else being equal, use 'tb' with smallest socket count" logic
wasn't being used at all?

Instead of removing it why don't we make it work properly again?  Something
obviously broke it somewhere along the line, because I am pretty sure this
heuristic worked at some point in the past.

Reply via email to