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

git: DragonFly_RELEASE_3_2 if_start: Fix a race that could delay the packets transmission


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 16 Dec 2012 20:30:21 -0800 (PST)

commit e136c2407c03ca4a4436c62e5ef915bec7c0c0b8
Author: Sepherosa Ziehau <sephe@dragonflybsd.org>
Date:   Mon Dec 17 12:18:08 2012 +0800

    if_start: Fix a race that could delay the packets transmission
    
    Since if_start_need_schedule is called w/ the cached IFF_OACTIVE out
    side of ifnet's TX serializer, there could be a race that IFF_OACTIVE
    could be cleared before if_start_need_schedule but after releasing
    ifnet's TX serializer.  This could delay already queued packets
    transmission until the new packet is coming.  Fix this race by calling
    if_start_need_schedule inside ifnet's TX serializer.

Summary of changes:
 sys/net/if.c |   51 ++++++++++++++++++++++-----------------------------
 1 files changed, 22 insertions(+), 29 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/e136c2407c03ca4a4436c62e5ef915bec7c0c0b8


-- 
DragonFly BSD source repository



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