From owner-cvs-all@FreeBSD.ORG Tue Aug 15 18:29:02 2006 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 82C4916A4E0 for ; Tue, 15 Aug 2006 18:29:02 +0000 (UTC) (envelope-from mattjreimer@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.184]) by mx1.FreeBSD.org (Postfix) with ESMTP id 609D243D86 for ; Tue, 15 Aug 2006 18:28:53 +0000 (GMT) (envelope-from mattjreimer@gmail.com) Received: by nf-out-0910.google.com with SMTP id n15so406766nfc for ; Tue, 15 Aug 2006 11:28:52 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=AwB3OD3lhnDasGJUQWBVqwQd3GoHn1L416AZ/o0PrjsVUsKXJYHUaXsN5V5eKM6fEoNJr7y4sOGWVL9xOTHIE31iGHMx8tO3R3GqYrCt49hmgmEFG8YrdehBK1PS7T5djcO/yKGtzvVPMLbgjY7oNjAjHWjMp7Czf+TeEG8V2XU= Received: by 10.49.29.2 with SMTP id g2mr1733238nfj; Tue, 15 Aug 2006 11:28:52 -0700 (PDT) Received: by 10.78.147.15 with HTTP; Tue, 15 Aug 2006 11:28:52 -0700 (PDT) Message-ID: Date: Tue, 15 Aug 2006 11:28:52 -0700 From: "Matt Reimer" To: "John Baldwin" In-Reply-To: <200608150747.55292.jhb@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200608140150.k7E1osuf005683@repoman.freebsd.org> <20060815064943.GA41815@cdnetworks.co.kr> <200608150747.55292.jhb@freebsd.org> Cc: pyunyh@gmail.com, cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, Pyun YongHyeon Subject: Re: cvs commit: src/sys/dev/em if_em.c if_em.h X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Aug 2006 18:29:02 -0000 On 8/15/06, John Baldwin wrote: > On Tuesday 15 August 2006 02:49, Pyun YongHyeon wrote: > > On Mon, Aug 14, 2006 at 01:30:37PM -0700, Matt Reimer wrote: > > > On 8/13/06, Pyun YongHyeon wrote: > > > >yongari 2006-08-14 01:50:54 UTC > > > > > > > > FreeBSD src repository > > > > > > > > Modified files: > > > > sys/dev/em if_em.c if_em.h > > > > Log: > > > > Overhaul Rx path to recover from mbuf cluster allocation failure. > > > > o Create one more spare DMA map for Rx handler to recover from > > > > bus_dmamap_load_mbuf_sg(9) failure. > > > > o Make sure to update status bit in Rx descriptors even if we failed > > > > to allocate a new buffer. Previously it resulted in stuck condition > > > > and em_handle_rxtx task took up all available CPU cycles. > > > [snip] > > > > > > Is it possible that the RELENG_4 if_em driver would suffer from the > > > same problems, particularly the stuck/CPU-chewing problem? > > > > > > > I think the problem exist in RELENG_4 too. If em_get_buf() fails em(4) > > exits main Rx loop but still does not update status bits in the Rx > > descriptor. I think you can easily experiment the problem with > > "kern.ipc.nmbclusters". > > Hmm, well, I've already backported a lot of the changes in RELENG_6 to em(4) > in RELENG_4 at work. I've got some more stuff to backport, but then I can > apply this as well and see if folks want to test it. I think I might have run into this bug last week. We have a couple of production boxes running RELENG_4 that use em(4), so I'll have to be careful, and I may not be able to test it immediately, but I'm willing to give it a try. Matt