]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r285973
authordavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Aug 2015 00:00:06 +0000 (00:00 +0000)
committerdavidcs <davidcs@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Wed, 5 Aug 2015 00:00:06 +0000 (00:00 +0000)
commitf4120fe66e551c592285cd461047ca4e7f8a2860
tree3e9baac6d79d561a9f6ed6cad2c3b0645a0a7699
parent0c5926c361f70e54ced2114f5e746734b37f5050
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/10@286297 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/dev/bxe/bxe.c
sys/dev/bxe/bxe.h