DragonFly kernel List (threaded) for 2003-12
Re: Goals: Netstack?!? (was: Not-yet-finished ALTQ patch.)
On Tue, Dec 02, 2003 at 11:50:05AM -0800, Matthew Dillon wrote:
> :I'd like to know more about DF's net stack/netisr handling and the goals
> :in that area. I understand that your intention is to keep as much data
> :as possible locally. Yet, this is very tricky (and extensive) work when
> :it comes to protocol dependencies, routing code and alike. Per protocol
> :lwkt & messaging is a way out (I guess), but at the expense of writing
> :quite a bunch of net code from scratch ...
> :Best regards,
> :Max mailto:max@xxxxxxxxxxxxxx
> Jeff has been running through a number of prototypes for the messaging
> conversion of the network stack. There are indeed some issues, but
> on the bright side it is really forcing us to think about how to
> partition the work.
> That's an interesting side effect of putting subsystems into threads...
> it really forces one to clean up the APIs and algorithms.
Also, it raise the question about being able to properly exploit cross processor
CPU resources for things like heavy IO handling. I'm thinking about a case that
might require some pretty tight load balancing such as a case where one high
bandwidth IO channel must send/receive something to another process on another
CPU. This is basically a consumer/producer relationship across CPU nodes, which
would demand tight coupling between the systems for performance reasons. IPC
performance I would think is critical in this case, which makes me curious about
those features and how something like token passing locks would be able to deal
with it, and specifically locking across a critical pipe like that.
Not sure if the problem has been thought out correctly or at all just yet, which
is why I'm raising this issue out of my own curiosity.