DragonFly BSD
DragonFly commits List (threaded) for 2011-11
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

git: kernel - Fix localhost packet misordering


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Thu, 3 Nov 2011 22:46:09 -0700 (PDT)

commit 392cd266cf0fd6bc128fba0cd2b0cf1f757f5628
Author: Matthew Dillon <dillon@apollo.backplane.com>
Date:   Thu Nov 3 22:25:31 2011 -0700

    kernel - Fix localhost packet misordering
    
    * netisr thread ports are based on IPIs, but when we enable asynch socket
      writes a user thread which gets moved between cpus sending async netmsgs
      while doing so can result in the netisr receiving those messages out
      of order, corrupting the data stream.
    
    * Add TDF_FORCE_SPINPORT to allow the netisr threads to implement their
      message ports as spinports instead of threadports, which guarantees
      message ordering.

Summary of changes:
 sys/kern/lwkt_thread.c |    2 +-
 sys/net/if.c           |    3 ++-
 sys/net/netisr.c       |    4 ++--
 sys/sys/thread.h       |    2 +-
 4 files changed, 6 insertions(+), 5 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/392cd266cf0fd6bc128fba0cd2b0cf1f757f5628


-- 
DragonFly BSD source repository



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]