From owner-freebsd-net@FreeBSD.ORG Tue Nov 8 19:30:31 2011 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5DF1B106566B for ; Tue, 8 Nov 2011 19:30:31 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-vw0-f54.google.com (mail-vw0-f54.google.com [209.85.212.54]) by mx1.freebsd.org (Postfix) with ESMTP id 06C828FC0A for ; Tue, 8 Nov 2011 19:30:30 +0000 (UTC) Received: by vws11 with SMTP id 11so1120052vws.13 for ; Tue, 08 Nov 2011 11:30:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=tyl8UeiJCF/uL1XeQnsUJSLnQl17j4+QDjQtIRfxKu8=; b=xtKsHaGkgHDqAh+UebI0wAMCPoQHk9cP7rRLxIt+MkhI6JHQw5PAcH5zhEO7C+KYg0 FnnTN7v4eltdmi7Z8QIaJfcQwyvPswzpkneyXhnG9STrRkgwJOBV9IiUIKEWb1NFosLc r2FTs9qwOSHuuSe4ZdV+c4qtMyPXongsWtza4= MIME-Version: 1.0 Received: by 10.52.95.164 with SMTP id dl4mr33705782vdb.72.1320780629820; Tue, 08 Nov 2011 11:30:29 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.52.29.198 with HTTP; Tue, 8 Nov 2011 11:30:29 -0800 (PST) In-Reply-To: <4EB96511.50701@gmail.com> References: <4E8F157A.40702@sentex.net> <4E8F51D4.1060509@sentex.net> <4EA7E203.3020306@sepehrs.com> <4EA80818.3030504@sentex.net> <4EA80F88.4000400@hotplug.ru> <4EA82715.2000404@gmail.com> <4EA8FA40.7010504@hotplug.ru> <4EA91836.2040508@gmail.com> <4EA959EE.2070806@hotplug.ru> <4EAD116A.8090006@gmail.com> <4EAE58A2.9040803@gmail.com> <4EB96511.50701@gmail.com> Date: Tue, 8 Nov 2011 11:30:29 -0800 X-Google-Sender-Auth: DQRCafmHfMCV-X8ct89I0tBj1yw Message-ID: From: Adrian Chadd To: Hooman Fazaeli Content-Type: text/plain; charset=ISO-8859-1 Cc: pyunyh@gmail.com, freebsd-net@freebsd.org, Emil Muratov , Jack Vogel , Jason Wolfe Subject: Re: Intel 82574L interface wedging on em 7.1.9/7.2.3 when MSIX enabled X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 08 Nov 2011 19:30:31 -0000 On 8 November 2011 09:21, Hooman Fazaeli wrote: > With MSIX enabled, the link task (em_handle_link) does _not_ triggers > _start when the link changes state from inactive to active (which it > should). > If if_snd quickly fills up during a temporary link loss, transmission is > stopped forever and the driver never recovers from that state. > > The last patch should have reduced the frequency of the problem > but it assumes every IFQ_ENQUEUE is followed by a if_start which > is not a true assumption. FWIW, I saw something very similar with the if_arge code port from Linux. If the TX queue filled up and wasn't serviced before it hit completely full, it was never drained. It may be worthwhile auditing some of the other NIC drivers to ensure this kind of situation isn't occuring. Especially if they came from Linux. :-) That's a great catch, I hope it finally fixes the if_em issues with MSIX. :-) Adrian