Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Oct 2007 01:28:30 +0000 (UTC)
From:      Andrew Thompson <thompsa@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/net if_lagg.c if_lagg.h
Message-ID:  <200710180128.l9I1SURY081169@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
thompsa     2007-10-18 01:28:30 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_7)
    sys/net              if_lagg.c if_lagg.h 
  Log:
  MFC if_lagg.c r1.20, if_lagg.h r1.11
  
    Fix two panics in lagg.
  
    1. The locking was changed to shared but roundrobin mode still updated a
       pointer in the softc with the next tx interface to use. This will panic
       under high load. Change this to an atomically incremented sequence number
       in order to choose the tx port in round robin.
  
    2. IFQ_HANDOFF will free the mbuf if the queue is full, this will then be
       freed again by lagg_start() and panic.  Reorganised the error handling and
       freeing to fix this.
  
  Approved by:    re (kensmith)
  
  Revision  Changes    Path
  1.19.2.1  +33 -36    src/sys/net/if_lagg.c
  1.10.2.1  +1 -0      src/sys/net/if_lagg.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200710180128.l9I1SURY081169>