On Wed, Jun 4, 2014 at 12:23 AM, Darren Reed <darr...@netbsd.org> wrote: > On 3/06/2014 11:06 PM, Ryota Ozaki wrote: >> >> Hi Darren, >> >> On Tue, Jun 3, 2014 at 9:16 PM, Darren Reed <darr...@netbsd.org> wrote: >>> >>> I assume this to be related to what rmind is doing, yes? >> >> Yes and no. We have a same goal (networking parallelism), but we're >> working on different components; he is mainly at L3 and above, and >> we are below L3. We collaborate a little to avoid overlapping each >> effort, but we are working separately. >> > > In so much as it is possible, I would suggest following on what rmind > is doing to make the code paths lock free as much as possible ... or are > you introducing locks that he's removing? For example, looking at the > code, you're adding locks around IFQ_DEQUEUE but he's removing that > macro and locks ... or?
I think there are two steps to make the networking code MP-capable. The first step is to remove big kernel locks and make it work with some fine-grain locks (MP-safe), and the second is to make it scalable, for example, by employing lockless data structures. We are still on the first step while rmind is on the second. I think we can use rmind's pktqueue for bridge's forwarding queues to get rid of the locks around IFQ_DEQUEUE. Once pktqueue is merged, I will try it for bridge. > > Are you all committing to the same branch/tree? Not yet, but we (IIJ guys) plan to prepare an integrated branch for convenience to test. ozaki-r > > Darren >