ixgbe & msi/x

Luigi Rizzo rizzo at iet.unipi.it
Mon Jan 28 07:05:01 UTC 2013


On Sun, Jan 27, 2013 at 10:39:53PM -0800, Vijay Singh wrote:
> I am investigating an issue where the ixgbe (82599) device is hung and
> I think I have traced it to the driver not getting interrupts. I have
> MSI/X enabled, with 2 rx/tx queues.

just curious, is this happening under behyve or also native,
and is it always occurring or it is occasional ?

I am asking because with netmap when i tried to exploit interrupt
mitigation (strictly processing incoming traffic only on rx
interrupts) i noticed packet drops even at relatively low rates,
which made me suspect that interrupts were either lost or heavily
delayed.

I did not pursue the problem and implemented a workaround (peek at the
ring before blocking -- there is a netmap sysctl that controls that),
but in light of your comment it might be interesting to investigate
the problem again. It could be also worthwhile to compare netmap
behaviour under FreeBSD and linux to see if the problem appears
only on one platform (hence pointing out a driver issue) or
on both (in which case no conclusion can be drawn).

cheers
luigi

> I am trying to understand this bit of code in the MSI/X setup:
> 
>         if (ixgbe_enable_msix)  {
>                 ixgbe_configure_ivars(adapter);
>                 /* Set up auto-mask */                <<== THIS BIT
>                 if (hw->mac.type == ixgbe_mac_82598EB)
>                         IXGBE_WRITE_REG(hw, IXGBE_EIAM, IXGBE_EICS_RTX_QUEUE);
>                 else {
>                         IXGBE_WRITE_REG(hw, IXGBE_EIAM_EX(0), 0xFFFFFFFF);
>                         IXGBE_WRITE_REG(hw, IXGBE_EIAM_EX(1), 0xFFFFFFFF);
>                 }
>         }
> 
> Does this mean that ixgbe_disable_queue() is not needed in the msi/x
> interrupt handler - ixgbe_msix_que()?
> 
> -vijay
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"


More information about the freebsd-net mailing list