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. 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 | 2 +- net/tipc/link.c | 66 ++++---- net/tipc/msg.h | 2 - net/tipc/name_table.c | 100 +++++++---- net/tipc/name_table.h | 21 +-- net/tipc/node.c | 2 +- net/tipc/socket.c | 448 ++++++++++++++++++++++---------------------------- 7 files changed, 309 insertions(+), 332 deletions(-) -- 2.7.4 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ tipc-discussion mailing list tipc-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/tipc-discussion