From davem@davemloft.net Mon Sep 13 16:55:57 2004 Return-Path: X-Original-To: jbarnes@spamtin.engr.sgi.com Delivered-To: jbarnes@spamtin.engr.sgi.com Received: from cthulhu.engr.sgi.com (cthulhu.engr.sgi.com [192.26.80.2]) by spamtin.engr.sgi.com (Postfix) with ESMTP id 07670240410A for ; Mon, 13 Sep 2004 16:59:19 -0700 (PDT) Received: from ledzep.americas.sgi.com (ledzep.americas.sgi.com [192.48.203.134]) by cthulhu.engr.sgi.com (SGI-8.12.5/8.12.5) with ESMTP id i8DNxHY910294054 for ; Mon, 13 Sep 2004 16:59:18 -0700 (PDT) Received: from mx7.sgi.com (mx7.sgi.com [192.48.176.13]) by ledzep.americas.sgi.com (8.12.9/8.12.10/SGI_generic_relay-1.2) with ESMTP id i8DNxHZO23261250 for ; Mon, 13 Sep 2004 18:59:17 -0500 (CDT) Received: from cheetah.davemloft.net (adsl-63-197-226-105.dsl.snfc21.pacbell.net [63.197.226.105]) by mx7.sgi.com (8.12.11/8.12.11/freebsd-nospam-3.3) with ESMTP id i8DNvho4069659 for ; Mon, 13 Sep 2004 18:57:50 -0500 (CDT) Received: from localhost ([127.0.0.1] helo=cheetah.davemloft.net ident=davem) by cheetah.davemloft.net with smtp (Exim 3.36 #1 (Debian)) id 1C70ft-0005gv-00; Mon, 13 Sep 2004 16:55:57 -0700 Date: Mon, 13 Sep 2004 16:55:57 -0700 From: "David S. Miller" To: Jesse Barnes Cc: akpm@osdl.org, linux-kernel@vger.kernel.org Subject: Re: 2.6.9-rc1-mm5 bug in tcp_recvmsg? Message-Id: <20040913165557.568cdffb.davem@davemloft.net> In-Reply-To: <200409131654.27727.jbarnes@engr.sgi.com> References: <20040913015003.5406abae.akpm@osdl.org> <200409131544.07365.jbarnes@engr.sgi.com> <20040913154742.5dd6dabf.davem@davemloft.net> <200409131654.27727.jbarnes@engr.sgi.com> X-Mailer: Sylpheed version 0.9.12 (GTK+ 1.2.10; sparc-unknown-linux-gnu) X-Face: "_;p5u5aPsO,_Vsx"^v-pEq09'CU4&Dc1$fQExov$62l60cgCc%FnIwD=.UF^a>?5'9Kn[;433QFVV9M..2eN.@4ZWPGbdi<=?[:T>y?SD(R*-3It"Vj:)"dP Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 2.64 (2004-01-11) on spamtin.engr.sgi.com X-Spam-Level: X-Spam-Status: No, hits=0.0 required=5.0 tests=BAYES_00,RCVD_IN_XBL autolearn=no version=2.64 X-UID: 59440 X-Length: 4062 On Mon, 13 Sep 2004 16:54:27 -0700 Jesse Barnes wrote: > tg3. I saw one trace that included do_poll (iirc) and another last week that > had sys_select in it. I'll try to gather some more info. What you're seeing might be due to the bug fixed by this patch: # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/09/13 12:58:04-07:00 ak@muc.de # [NET]: Fix missing spin lock in lltx path. # # This fixes a silly missing spin lock in the relock path. For some # reason it seems to still work when you don't have spinlock debugging # enabled. # # Please apply. # # Thanks to Arjan's spinlock debug kernel for finding it. # # Signed-off-by: Andi Kleen # Signed-off-by: David S. Miller # # net/sched/sch_generic.c # 2004/09/13 12:57:46-07:00 ak@muc.de +3 -1 # [NET]: Fix missing spin lock in lltx path. # # This fixes a silly missing spin lock in the relock path. For some # reason it seems to still work when you don't have spinlock debugging # enabled. # # Please apply. # # Thanks to Arjan's spinlock debug kernel for finding it. # # Signed-off-by: Andi Kleen # Signed-off-by: David S. Miller # diff -Nru a/net/sched/sch_generic.c b/net/sched/sch_generic.c --- a/net/sched/sch_generic.c 2004-09-13 16:38:39 -07:00 +++ b/net/sched/sch_generic.c 2004-09-13 16:38:39 -07:00 @@ -148,8 +148,10 @@ spin_lock(&dev->queue_lock); return -1; } - if (ret == NETDEV_TX_LOCKED && nolock) + if (ret == NETDEV_TX_LOCKED && nolock) { + spin_lock(&dev->queue_lock); goto collision; + } } /* NETDEV_TX_BUSY - we need to requeue */