We fix a very real starvation problem that may occur when a link
encounters send buffer congestion. At the same time we make the
interaction between the socket and link layer simpler and more
consistent.
v2: - Simplified link congestion check to only check against own
importance limit. This reduces the risk of higher levels
starving out lower levels.
v3: - Adding one sent message to to link backlog queue even if there is
congestion, as suggested by Partha.
- Allowing link_wakeup() loop to continue adding messages to the
backlog queue even if one or more levels are congested. This
seems to have a positive effect on performance.
v4: - Added Partha's fixes, except for #4. I think having a multicast
being blocked after unicast link congestion is an acceptable
behavior when weighed against the risks of just purging the
congestion list.
Jon Maloy (3):
tipc: unify tipc_wait_for_sndpkt() and tipc_wait_for_sndmsg()
functions
tipc: modify struct tipc_plist to be more versatile
tipc: reduce risk of user starvation during link congestion
net/tipc/bcast.c | 6 +-
net/tipc/link.c | 75 ++++-----
net/tipc/msg.h | 2 -
net/tipc/name_table.c | 100 +++++++----
net/tipc/name_table.h | 21 +--
net/tipc/node.c | 15 +-
net/tipc/socket.c | 449 ++++++++++++++++++++++----------------------------
7 files changed, 319 insertions(+), 349 deletions(-)
--
2.7.4
------------------------------------------------------------------------------
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/intel
_______________________________________________
tipc-discussion mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tipc-discussion