On 8/12/05, David S. Miller <[EMAIL PROTECTED]> wrote:
> From: Dimitris Michailidis <[EMAIL PROTECTED]>
> Date: Fri, 12 Aug 2005 10:00:12 -0700
> 
> > On 8/12/05, David S. Miller <[EMAIL PROTECTED]> wrote:
> > > This would mean that every time we wish to change the data structures
> > > and interfaces for TCP socket lookup, your drivers would need to
> > > change.
> >
> > I think using TCP's own functions was done exactly to avoid this
> > problem.
> 
> That's doesn't achieve the desired result.
> 
> I do plan to merge in IBM's move of the TCP hash tables over
> to RCU style locking, and that will require knowledge of the
> locking at the call sites to the functions you have exported
> to the TOE drivers.  The TOE drivers would break as a result.

TOE uses the same locking strategies the host TCP uses (lock_sock and
the rest) so it should at least be familiar.  It doesn't use
ehash_lock or head->lock other than indirectly through functions such
as the above, and does its normal lookups in its own lockless table
that is based on flow ids rather than 4-tuples.  I haven't seen the
patches you mention recently, I recall seeing some RCU ehash
discussion several months ago and that didn't seem it would have much
of an impact.  If you have something more recent I can take a look and
tell you if it would affect anything.

> 
> You are creating a maintainence headache for us as well.  Once this
> stuff gets exported to drivers, it becomes nearly impossible to
> change.  And I absolutely reserve the right to create restrictions of
> use that increase the flexibility we have to change interfaces, data
> structures, and locking strategies in the future.
 
I think you have a fine attitude here.  There are and there will be a
lot more users of the SW TCP than of TOEs and I think you should feel
free to improve the former however you can.  The TOE code still works
with kernels going back to 2.4.22, tracking changes in mainline TCP
hasn't been an issue so far.  If you can give maintainers a heads up
before changes you think may be disruptive I think that would be
plenty on your part.
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to