Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next 0/9] tipc: resolve message disordering problem
@ 2015-02-05 13:36 Jon Maloy
  2015-02-05 13:36 ` [PATCH net-next 1/9] tipc: reduce usage of context info in socket and link Jon Maloy
                   ` (9 more replies)
  0 siblings, 10 replies; 11+ messages in thread
From: Jon Maloy @ 2015-02-05 13:36 UTC (permalink / raw)
  To: davem
  Cc: netdev, Paul Gortmaker, erik.hugne, ying.xue, maloy,
	tipc-discussion, Jon Maloy

When TIPC receives messages from multi-threaded device drivers it may
occasionally deliver messages to their destination sockets in the wrong
order. This happens despite correct resequencing at the link layer,
because the upcall path from link to socket is not protected by any
locks.

These commits solve this problem by introducing an 'input' message
queue in each link, through which messages must be delivered to the
upper layers.


Jon Maloy (9):
  tipc: reduce usage of context info in socket and link
  tipc: simplify message forwarding and rejection in socket layer
  tipc: enqueue arrived buffers in socket in separate function
  tipc: split up function tipc_msg_eval()
  tipc: use existing sk_write_queue for outgoing packet chain
  tipc: resolve race problem at unicast message reception
  tipc: simplify connection abort notifications when links break
  tipc: simplify socket multicast reception
  tipc: eliminate race condition at multicast reception

 net/tipc/bcast.c      | 121 ++++++----------
 net/tipc/bcast.h      |  29 ++--
 net/tipc/discover.c   |   3 +-
 net/tipc/link.c       | 301 +++++++++++++++++----------------------
 net/tipc/link.h       |  14 +-
 net/tipc/msg.c        | 109 ++++++++------
 net/tipc/msg.h        | 107 ++++++++++++--
 net/tipc/name_distr.c |  38 +++--
 net/tipc/name_distr.h |   2 +-
 net/tipc/name_table.c |  44 +++++-
 net/tipc/name_table.h |  20 ++-
 net/tipc/node.c       | 103 +++++++-------
 net/tipc/node.h       |  22 ++-
 net/tipc/socket.c     | 382 +++++++++++++++++++++++++++++---------------------
 net/tipc/socket.h     |   8 +-
 15 files changed, 740 insertions(+), 563 deletions(-)

-- 
1.9.1

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2015-02-06  0:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-05 13:36 [PATCH net-next 0/9] tipc: resolve message disordering problem Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 1/9] tipc: reduce usage of context info in socket and link Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 2/9] tipc: simplify message forwarding and rejection in socket layer Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 3/9] tipc: enqueue arrived buffers in socket in separate function Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 4/9] tipc: split up function tipc_msg_eval() Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 5/9] tipc: use existing sk_write_queue for outgoing packet chain Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 6/9] tipc: resolve race problem at unicast message reception Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 7/9] tipc: simplify connection abort notifications when links break Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 8/9] tipc: simplify socket multicast reception Jon Maloy
2015-02-05 13:36 ` [PATCH net-next 9/9] tipc: eliminate race condition at " Jon Maloy
2015-02-06  0:00 ` [PATCH net-next 0/9] tipc: resolve message disordering problem David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox