]> CyberLeo.Net >> Repos - FreeBSD/stable/9.git/commit
MFC r285973
authordavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Aug 2015 02:19:38 +0000 (02:19 +0000)
committerdavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Aug 2015 02:19:38 +0000 (02:19 +0000)
commit98306c54ca4675d428cedf0cab898b0a32bd6b8f
treefab58e484f17b246b5e12702ad22a266d400f26f
parent60d95c26bc794fa45a704e100d29ee08fae872bb
MFC r285973
      - Avoid lock contention in the if_transmit callback by using trylock and
       enqueueing the frames when it fails. This way there is some latency
       removed from the transmitting path.
      - If IFF_DRV_OACTIVE is set (and also if IFF_DRV_RUNNING is not) just
       enqueue the desired frames and return successful transmit. This way we
       avoid to return errors on transmit side and resulting in
       possible out-of-order frames. Please note that IFF_DRV_OACTIVE is set
       everytime we get the threshold ring hit, so this can be happening quite
       often.

Submitted by: Attilio.Rao@isilon.com

git-svn-id: svn://svn.freebsd.org/base/stable/9@286302 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/bxe/bxe.c
sys/dev/bxe/bxe.h