Evgeniy Polyakov a écrit :
On Sat, Jan 31, 2009 at 10:49:00AM +0100, Eric Dumazet (dada1@cosmosbay.com) wrote:
quoted
It appears you are always right, I have nothing to say then.
Stupid I am.
I vote for plain revert of your initial patch, since you are anaware
of performance problems it introduces. Then, probably nobody cares
of my complaints, so dont worry.
Eric, do not get it soo personally :) After all it is only a matter of
how we enjoy the process and have fun with the development.
Really, I appreciate your work and help, and likely this
misunderstanding happened because of a bad mix of the original bug and
this performance implication. Original bug has really nothing with what
we discuss here. And while the performance problem with bound sockets
creation may be visible, I did not observe it, while the idea
implemented with this approach shows up clearly in the graph I posted.
So I vote by both hands to further improve it by moving things around so
that there would be no unneded cache flushes during update of this
field.
OK OK, as I said, dont worry, it was not a strong feeling from me, only
a litle bit upset, thats all.
We only need to know if the *fix* is solving Stephen problem
About performance effects of careful variable placement and percpu counter
strategy you might consult as an example :
http://lkml.indiana.edu/hypermail/linux/kernel/0812.1/01624.html
Now, with these patches applied, try to see effect of your new bsockets field
on a network workload doing lot of socket bind()/unbind() calls...
With current kernels, you probably wont notice because of inode/dcache hot
cache lines, but it might change eventually...