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
tipc-discussion@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tipc-discussion

Reply via email to