DragonFly kernel List (threaded) for 2008-06
DragonFly BSD
DragonFly kernel List (threaded) for 2008-06
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: dispatch most functionality of ether_input to protocol threads

From: "Sepherosa Ziehau" <sepherosa@xxxxxxxxx>
Date: Mon, 23 Jun 2008 20:00:44 +0800

On Mon, Jun 23, 2008 at 8:03 AM, Aggelos Economopoulos
<aoiko@cc.ece.ntua.gr> wrote:
> On Sunday 22 June 2008, Sepherosa Ziehau wrote:
>> Hi,
>> Following patch dispatch most ether_input functionality to protocol threads:
>> http://leaf.dragonflybsd.org/~sephe/ether_input2.diff
>> It is not built by default, and some parts (vlan/fastforwarding) are
>> still not finished yet.  But the idea behind this patch is quite
>> simple:
>> ether_input does nothing more than finding the proper protocol threads
>> for the input packets.
>> I have done some tests with em.  Bridge and normal operation works
>> with the patch.  Hopefully, I could adapt vlan and fastforwarding
>> before this release.  After this release, I plan to switch ether_input
>> to use ether_input_chain2 in this patch and move on to parallelize
>> ipfw.
>> Since the new code is not built by default, I want to commit it soon,
>> if no one objects.
> Please do. It's a change in the right direction and, as you say, it's a
> prerequisite to parallelizing ipfw.
> I haven't done a careful reading (comparing old/new code), but I doubt
> I'd find a bug anyway :) One thing that you may want to consider is
> calling ether_init_netpacket() explicitly rather than implicitly in
> ether_mport(); let ether_mport() only do what its name suggests.

Ah, thanks.  In addition the meaning of function, I found that setup
netmsg packet in ether_mport() may be dangerous before restoring ether
header.  I have moved it after the ether header restoration.

Best Regards,

Live Free or Die

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]