From owner-freebsd-net@FreeBSD.ORG Mon Jan 28 07:05:01 2013 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 3C8023C9 for ; Mon, 28 Jan 2013 07:05:01 +0000 (UTC) (envelope-from luigi@onelab2.iet.unipi.it) Received: from onelab2.iet.unipi.it (onelab2.iet.unipi.it [131.114.59.238]) by mx1.freebsd.org (Postfix) with ESMTP id 04429D67 for ; Mon, 28 Jan 2013 07:05:00 +0000 (UTC) Received: by onelab2.iet.unipi.it (Postfix, from userid 275) id 3C76B7300A; Mon, 28 Jan 2013 08:04:39 +0100 (CET) Date: Mon, 28 Jan 2013 08:04:39 +0100 From: Luigi Rizzo To: Vijay Singh Subject: Re: ixgbe & msi/x Message-ID: <20130128070439.GB85353@onelab2.iet.unipi.it> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i Cc: net@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Jan 2013 07:05:01 -0000 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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-net > To unsubscribe, send any mail to "freebsd-net-unsubscribe@freebsd.org"