From: Evgeniy Polyakov <zbr@ioremap•net>
To: Eric Dumazet <eric.dumazet@gmail•com>
Cc: Nagendra Tomar <tomer_iisc@yahoo•com>,
netdev@vger•kernel.org, davem@davemloft•net
Subject: Re: [PATCH] net: Fix __inet_inherit_port() to correctly increment bsockets and num_owners
Date: Fri, 26 Nov 2010 14:07:26 +0300 [thread overview]
Message-ID: <20101126110726.GA5648@ioremap.net> (raw)
In-Reply-To: <1290768477.2855.97.camel@edumazet-laptop>
Hi.
On Fri, Nov 26, 2010 at 11:47:57AM +0100, Eric Dumazet (eric.dumazet@gmail•com) wrote:
> > ok, so I printed hashinfo->bsockets and tb->num_owners inside
> > __inet_put_port() and I could see both of them to be -ve. All we need
> > to do is establish and terminate a connection. I used netcat for that.
> >
> > The only place 'bsockets' and 'num_owners' are used is
> > inet_csk_get_port() and the only effect that they might have is on the
> > choice of the port to be used for binding.
> > 'bsockets' is used as a hint to stop searching for a free port (and
> > instead share an already used port) when we know that all the ports
> > could be used up.
> > 'num_owners' is used to find the port which is least shared (to
> > balance the 'owners' list) in case we need to share a port.
> >
> > Since both of these are used as optimizations (in the bind path), they
> > do not affect correctness and hence the code works even with these
> > values not being updated correctly.
>
> Hmm, thanks for clarification.
>
> bsockets / mnum_owners iscount is indeed an 'optimization' problem.
>
> Problem is your patch is not applicable to current tree.
>
> In order to submit it to stable team, you should first post a patch for
> next/current kernel (net-next-2.6 tree).
>
> David will decide if its net-2.6 material or not.
>
> You could add in your changelog the problem comes from commit
> a9d8f9110d7e953c (inet: Allowing more than 64k connections and heavily
> optimize bind(0)), included in 2.6.30, to ease stable team work.
Frankly I did not find how those optimizations made a bug as well as
what is this bug about from given description, but I'm glad it is resolved now :)
--
Evgeniy Polyakov
next prev parent reply other threads:[~2010-11-26 11:17 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-26 5:09 [PATCH] net: Fix __inet_inherit_port() to correctly increment bsockets and num_owners Nagendra Tomar
2010-11-26 7:20 ` Eric Dumazet
2010-11-26 7:49 ` Nagendra Tomar
2010-11-26 8:23 ` Eric Dumazet
2010-11-26 9:40 ` Nagendra Tomar
2010-11-26 10:47 ` Eric Dumazet
2010-11-26 11:01 ` Nagendra Tomar
2010-11-26 11:07 ` Evgeniy Polyakov [this message]
2010-11-26 11:20 ` Nagendra Tomar
2010-11-26 15:56 ` Evgeniy Polyakov
2010-11-27 0:01 ` [PATCH] net-next: " Nagendra Tomar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101126110726.GA5648@ioremap.net \
--to=zbr@ioremap$(echo .)net \
--cc=davem@davemloft$(echo .)net \
--cc=eric.dumazet@gmail$(echo .)com \
--cc=netdev@vger$(echo .)kernel.org \
--cc=tomer_iisc@yahoo$(echo .)com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox