linux/net/tipc
Jon Paul Maloy 598411d70f tipc: make resetting of links non-atomic
In order to facilitate future improvements to the locking structure, we
want to make resetting and establishing of links non-atomic. I.e., the
functions tipc_node_link_up() and tipc_node_link_down() should be called
from outside the node lock context, and grab/release the node lock
themselves. This requires that we can freeze the link state from the
moment it is set to RESETTING or PEER_RESET in one lock context until
it is set to RESET or ESTABLISHING in a later context. The recently
introduced link FSM makes this possible, so we are now ready to introduce
the above change.

This commit implements this.

Tested-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-07-30 17:25:14 -07:00
..
addr.c tipc: simplify include dependencies 2015-05-14 12:24:45 -04:00
addr.h tipc: simplify include dependencies 2015-05-14 12:24:45 -04:00
bcast.c tipc: reduce locking scope during packet reception 2015-07-20 20:41:16 -07:00
bcast.h tipc: reduce locking scope during packet reception 2015-07-20 20:41:16 -07:00
bearer.c tipc: move all link_reset() calls to link aggregation level 2015-07-30 17:25:13 -07:00
bearer.h tipc: make media xmit call outside node spinlock context 2015-07-20 20:41:15 -07:00
core.c tipc: rename functions defined in subscr.c 2015-05-04 15:04:00 -04:00
core.h tipc: reduce locking scope during packet reception 2015-07-20 20:41:16 -07:00
discover.c tipc: move received discovery data evaluation inside node.c 2015-07-30 17:25:14 -07:00
discover.h tipc: involve namespace infrastructure 2015-01-12 16:24:32 -05:00
eth_media.c tipc: make media address offset a common define 2015-02-27 18:18:48 -05:00
ib_media.c tipc: rename media/msg related definitions 2015-02-27 18:18:48 -05:00
Kconfig tipc: add ip/udp media type 2015-03-05 22:08:42 -05:00
link.c tipc: make resetting of links non-atomic 2015-07-30 17:25:14 -07:00
link.h tipc: merge link->exec_mode and link->state into one FSM 2015-07-30 17:25:14 -07:00
Makefile tipc: add ip/udp media type 2015-03-05 22:08:42 -05:00
msg.c tipc: clean up socket layer message reception 2015-07-26 16:31:50 -07:00
msg.h tipc: make resetting of links non-atomic 2015-07-30 17:25:14 -07:00
name_distr.c tipc: make media xmit call outside node spinlock context 2015-07-20 20:41:15 -07:00
name_distr.h tipc: resolve race problem at unicast message reception 2015-02-05 16:00:02 -08:00
name_table.c tipc: rename functions defined in subscr.c 2015-05-04 15:04:00 -04:00
name_table.h tipc: convert legacy nl name table dump to nl compat 2015-02-09 13:20:48 -08:00
net.c tipc: simplify include dependencies 2015-05-14 12:24:45 -04:00
net.h tipc: make tipc node table aware of net namespace 2015-01-12 16:24:32 -05:00
netlink_compat.c tipc: send explicit not supported error in nl compat 2015-05-09 16:40:03 -04:00
netlink.c tipc: move and rename the legacy nl api to "nl compat" 2015-02-09 13:20:47 -08:00
netlink.h tipc: move and rename the legacy nl api to "nl compat" 2015-02-09 13:20:47 -08:00
node.c tipc: make resetting of links non-atomic 2015-07-30 17:25:14 -07:00
node.h tipc: move received discovery data evaluation inside node.c 2015-07-30 17:25:14 -07:00
server.c tipc: use sock_create_kern interface to create kernel socket 2015-05-14 13:39:33 -04:00
server.h tipc: make subscriber server support net namespace 2015-01-12 16:24:33 -05:00
socket.c tipc: clean up socket layer message reception 2015-07-26 16:31:50 -07:00
socket.h tipc: clean up socket layer message reception 2015-07-26 16:31:50 -07:00
subscr.c tipc: adjust locking policy of subscription 2015-05-04 15:04:01 -04:00
subscr.h tipc: rename functions defined in subscr.c 2015-05-04 15:04:00 -04:00
sysctl.c tipc: add name distributor resiliency queue 2014-09-01 17:51:48 -07:00
udp_media.c udp_tunnel: Pass UDP socket down through udp_tunnel{, 6}_xmit_skb(). 2015-04-07 15:29:08 -04:00