Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Mar 2010 17:48:13 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/net if_epair.c
Message-ID:  <201003271748.o2RHmX1O070794@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

bz          2010-03-27 17:48:13 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    sys/net              if_epair.c 
  Log:
  SVN rev 205760 on 2010-03-27 17:48:13Z by bz
  
  MFC r204805:
  
    Rework reference counting in case we queue into the netisr,
    or overflow the netisr queue and fall back to the interface
    queue so that we can garuantee that the ifnet pointer stays
    valid.   Formerly we ended up with reference counts <= 0 in
    case the netisr had returned ENOBUFS.  The idea is to track
    any packet in the netisr queue and only change the refount
    on edge operations for the fallback interface queue. This
    also avoids problems in case the if_snd.ifq_len lies to us.
  
    Also rework refount assertions to make sure they trigger if
    we go below 1. Formerly a negative refence count did not
    trigger the assert as the refcount variable is u_int.
  
  Revision  Changes    Path
  1.3.2.3   +71 -20    src/sys/net/if_epair.c



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