> -----Original Message-----
> From: Richard Alpe
> Sent: Wednesday, 02 December, 2015 07:52
> To: [email protected]
> Cc: Jon Maloy; Ying Xue; Richard Alpe
> Subject: [PATCH 0/2] New node removal netlink command
> 
> Add a new netlink command that can remove a dead node from the internal
> data structures.
> 
> There is still an impediment here:
> 
> When I wrote this a node was removed properly on the first call. After
> rebase it now requires the netlink command and the subsequent
> tipc_node_stop() function to be executed twice before the node is actually
> removed. To me this suggests that something is wrong with the node ref-
> count. I bisected and found the change in behaviour to be introduced in
> 5405ff6e15f4 tipc: convert node lock to rwlock
> 
> Looking at that commit the only change in ref-counting that I can spot is new
> return at line 463 of the patch:
> if (likely(!skb_queue_empty(&xmitq)))
>       ...
>       return ...
> 

Yes, this is clearly a bug. I will post a patch. Thank you for spotting this.

///jon

> Taking this return would result in one less tipc_node_put(). I'm not familiar
> with how the node ref counting is suppose to work. Can someone help me
> here?
> Why are we changing the ref count of a node in the transmit function?
> 
> Richard Alpe (2):
>   tipc: move netlink policies to netlink.h
>   tipc: add node removal functionality
> 
>  include/uapi/linux/tipc_netlink.h |  1 +
>  net/tipc/bearer.c                 | 19 +--------
>  net/tipc/link.c                   |  8 ----
>  net/tipc/name_table.c             |  7 +---
>  net/tipc/net.c                    |  8 +---
>  net/tipc/netlink.c                | 18 +++------
>  net/tipc/netlink.h                | 85
> +++++++++++++++++++++++++++++++++++++++
>  net/tipc/node.c                   | 83 +++++++++++++++++++++++++-------------
>  net/tipc/node.h                   |  3 +-
>  net/tipc/socket.c                 |  9 +----
>  net/tipc/udp_media.c              |  9 +----
>  11 files changed, 155 insertions(+), 95 deletions(-)
> 
> --
> 2.1.4


------------------------------------------------------------------------------
Go from Idea to Many App Stores Faster with Intel(R) XDK
Give your users amazing mobile app experiences with Intel(R) XDK.
Use one codebase in this all-in-one HTML5 development environment.
Design, debug & build mobile apps & 2D/3D high-impact games for multiple OSs.
http://pubads.g.doubleclick.net/gampad/clk?id=254741911&iu=/4140
_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to