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

Re: route entry and tcp_usr_connect/tcp_connect


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Fri, 8 Feb 2008 09:28:18 -0800 (PST)

:Hi,
:
:It turns out the previous problem (tcp_timer_2msl) is related to
:calling tcp_output() in tcp_usr_connect() and tcp_connect().
:For TCP PRU_CONNECT is handled on tcp_thread[0] following two
:functions are executed in _that_ thread:
:tcp_connect() and tcp_output()
:
:...
:So I made following patch:
:- If target port is not tcp_thread[0]'s port, then we free the route
:entry allocated by in_pcbladdr().
:- In tcp_usr_connect(), if target port is not tcp_thread[0]'s port, we
:dispatch tcp_output to the target port to be called.
:
:Please review it:
:http://leaf.dragonflybsd.org/~sephe/tcp_connect.diff
:
:Best Regards,
:sephe

    I like it.  We should probably also start adding cpu-assertions to the
    tcp protocol stack, as a step towards removing the BGL from the protocol
    stack threads.

					-Matt
					Matthew Dillon 
					<dillon@backplane.com>



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