A call of ixgbe_start_locked() is missed in ixgbe_msix_tx -- the TX interrupt handler when MSIX interrupts are used. (It sometime cause sending stall: when if_snd queue is full, the upper layer does not call if_start entry point, so if TX interrupt does not send some packets and does not free some space in the if_snd queue, nothing will ever be sent. Other TX handlers call ixgbe_start_locked().)
In my production configuration, this does *not* happen with 10/stable. If this is still a problem in your environment, reopen this ticket and we'll take a look.