mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
tipc: make media xmit call outside node spinlock context
Currently, message sending is performed through a deep call chain, where the node spinlock is grabbed and held during a significant part of the transmission time. This is clearly detrimental to overall throughput performance; it would be better if we could send the message after the spinlock has been released. In this commit, we do instead let the call revert on the stack after the buffer chain has been added to the transmission queue, whereafter clones of the buffers are transmitted to the device layer outside the spinlock scope. As a further step in our effort to separate the roles of the node and link entities we also move the function tipc_link_xmit() to node.c, and rename it to tipc_node_xmit(). Reviewed-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>
This commit is contained in:
parent
22d85c7942
commit
af9b028e27
8 changed files with 198 additions and 77 deletions
|
@ -217,5 +217,8 @@ void tipc_bearer_cleanup(void);
|
|||
void tipc_bearer_stop(struct net *net);
|
||||
void tipc_bearer_send(struct net *net, u32 bearer_id, struct sk_buff *buf,
|
||||
struct tipc_media_addr *dest);
|
||||
void tipc_bearer_xmit(struct net *net, u32 bearer_id,
|
||||
struct sk_buff_head *xmitq,
|
||||
struct tipc_media_addr *dst);
|
||||
|
||||
#endif /* _TIPC_BEARER_H */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue