From owner-freebsd-net@FreeBSD.ORG Mon Aug 13 21:40:15 2012 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B0228106566B for ; Mon, 13 Aug 2012 21:40:15 +0000 (UTC) (envelope-from jfvogel@gmail.com) Received: from mail-vc0-f182.google.com (mail-vc0-f182.google.com [209.85.220.182]) by mx1.freebsd.org (Postfix) with ESMTP id 67F188FC12 for ; Mon, 13 Aug 2012 21:40:15 +0000 (UTC) Received: by vcbgb22 with SMTP id gb22so5159170vcb.13 for ; Mon, 13 Aug 2012 14:40:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=ncFGFILlTrDxfjYef+MIA8/XXor7dNU9LQuzxbjZ44k=; b=T7rQ48ytz39kpo/5nNep+wu2hA68vKsi2MrU5RR/L3iXbt/Qryg/DmltfVLpUtQOmc X1/8N8ecbODXOgW838TymK98cl5eEd1bsRnjUER8mKuyCn2wEWn6aitUWrVK5EW5Hq0G PyYCkeD759DVLI7PNLR1/ixrBETW3vZZk2LO25+0PsiAuNI/ViNkfcFrAXHr2mRuMZ8h OPT7NLxgsXwiHUUNMmdqqI7DIHqZ2B87shg6d/NfcQ9rF+NtnPiW4A2OrmkJXhrbcl/X RymShvurl87tlc5PVCl2MP+JGIGesmkpi0N+A5iF31LarkZIKF9KT0CugvLaFT3UbsCE g2Ag== MIME-Version: 1.0 Received: by 10.52.180.66 with SMTP id dm2mr8029483vdc.1.1344894014454; Mon, 13 Aug 2012 14:40:14 -0700 (PDT) Received: by 10.58.187.134 with HTTP; Mon, 13 Aug 2012 14:40:14 -0700 (PDT) In-Reply-To: References: Date: Mon, 13 Aug 2012 14:40:14 -0700 Message-ID: From: Jack Vogel To: Vijay Singh Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: net@freebsd.org Subject: Re: ixgbe rx & tx locks 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: Mon, 13 Aug 2012 21:40:15 -0000 Hmmm, this is odd, because the interrupt vector is not being re-enabled unless you are not scheduling the task, and when you are the interrupt isn't enabled til the end.... Something funny going on. You could get contention due to mq_start however, you sure about where its coming from? Jack On Mon, Aug 13, 2012 at 2:15 PM, Vijay Singh wrote: > Folks, I've been looking into lock contention on the ixgbe rx & tx locks. > > I have collected this data: > > debug.lock.prof.stats: > max wait_max total wait_total count avg wait_avg > cnt_hold cnt_lock name > 263 304 1329357 858873 322010 4 2 > 0 45210 sys/dev/ixgbe/ixgbe.c:1349 (sleep mutex:e2a:tx(0)) > 415 189 14314889 62933 739895 19 0 > 0 13694 sys/dev/ixgbe/ixgbe.c:1445 (sleep mutex:e2a:tx(0)) > > So the lock contention is coming from lock acquisitions in > ixgbe_handle_que() and ixgbe_msix_que(). > > I am unable to understand why, since I would not expect the deferred > task to execute in parallel with the msix interrupt handler. > > rx is similar: > > debug.lock.prof.stats: > max wait_max total wait_total count avg wait_avg > cnt_hold cnt_lock name > 88 893 672058 269855 821847 0 0 > 0 753 sys/dev/ixgbe/ixgbe.c:4211 (sleep mutex:e6b:rx(0)) > 893 25 3994289 1937 1093238 3 0 > 0 561 sys/dev/ixgbe/ixgbe.c:4276 (sleep mutex:e6b:rx(0)) > > Any thoughts? > > -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" >