On Fri, Jul 21, 2006 at 09:14:39AM -0700, Ben Greear ([EMAIL PROTECTED]) wrote: > >>Out of curiosity, is it possible to have the single producer logic > >>if you have two+ ethernet interfaces handling frames for a single > >>TCP connection? (I am assuming some sort of multi-path routing > >>logic...) > > > >I do not think it is possible with additional logic like what is > >implemented in softirqs, i.e. per cpu queues of data, which in turn will > >be converted into skbs one-by-one. > > Couldn't you have two NICs being handled by two separate CPUs, with both > CPUs trying to write to the same socket queue? > > The receive path works with RCU locking from what I understand, so > a protocol's receive function must be re-entrant.
There will not be socket queue on that stage - only per-cpu queues, which then will be processed one-by-one by _exactly_ single user. That user can get skb in round-robin manner and put them into socket queue and call protocol receiving function. > -- > Ben Greear <[EMAIL PROTECTED]> > Candela Technologies Inc http://www.candelatech.com -- Evgeniy Polyakov - 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