HomeFreeBSD

MFC r285973

Description

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

Details

Provenance
davidcsAuthored on
Parents
rS286301: MFC r285973
Branches
Unknown
Tags
Unknown