From bthomas@virtualiron.com  Fri Sep  2 17:56:03 2005
Return-Path: <bthomas@virtualiron.com>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id C601316A41F
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  2 Sep 2005 17:56:02 +0000 (GMT)
	(envelope-from bthomas@virtualiron.com)
Received: from mail.virtualiron.com (mail.virtualiron.com [209.213.88.114])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 4453643D58
	for <FreeBSD-gnats-submit@freebsd.org>; Fri,  2 Sep 2005 17:56:02 +0000 (GMT)
	(envelope-from bthomas@virtualiron.com)
Received: from [10.1.2.26] ([10.1.2.26]) by mail.virtualiron.com with Microsoft SMTPSVC(6.0.3790.1830);
	 Fri, 2 Sep 2005 13:56:37 -0400
Message-Id: <43189230.7050603@virtualiron.com>
Date: Fri, 02 Sep 2005 13:56:00 -0400
From: Ben Thomas <bthomas@virtualiron.com>
To: FreeBSD-gnats-submit@freebsd.org
Subject: [patch] provide more specific default network driver queue mutex
 name

>Number:         85648
>Category:       kern
>Synopsis:       [net] [patch] provide more specific default network driver queue mutex name
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Sep 02 18:00:33 GMT 2005
>Closed-Date:    Tue Feb 03 10:08:24 UTC 2009
>Last-Modified:  Tue Feb 03 10:08:24 UTC 2009
>Originator:     Ben Thomas
>Release:        FreeBSD 5.4-RELEASE i386
>Organization:
Virtual Iron Software
>Environment:
System: FreeBSD bthomas4.katana-technology.com 5.4-RELEASE FreeBSD 5.4-RELEASE #10: Sun Aug 28 13:48:00 EDT 2005 ben@bthomas4.katana-technology.com:/usr/obj/usr/home/ben/BSD/RELENG_5_4_0_RELEASE/src/sys/BEN i386


>Description:

This change modifies the default name given to a network driver queue mutex.
The new name contains the device name, which makes for easier debugging
and tracking.  While tracking down mutexes and debugging, it made
work a little easier to have more specific names on mutexes.

This patch is against the 5_4_0_RELEASE code


>How-To-Repeat:
>Fix:

--- if.c-DIFF begins here ---
--- /usr/src.original/sys/net/if.c	Thu Apr 14 21:52:03 2005
+++ /usr/src/sys/net/if.c	Fri Aug  5 17:31:35 2005
@@ -291,6 +291,7 @@
 {
 	struct ifnet *ifp;
 	int s;
+	char	name[IFNAMSIZ + sizeof(" ifq_mtx") + 1];
 
 	s = splimp();
 	IFNET_RLOCK();	/* could sleep on rare error; mostly okay XXX */
@@ -300,9 +301,10 @@
 			ifp->if_snd.ifq_maxlen = ifqmaxlen;
 		}
 		if (!mtx_initialized(&ifp->if_snd.ifq_mtx)) {
+			snprintf(name, sizeof(name), "%s ifq_mtx", ifp->if_xname);
 			if_printf(ifp,
-			    "XXX: driver didn't initialize queue mtx\n");
-			mtx_init(&ifp->if_snd.ifq_mtx, "unknown",
+			    "XXX: Initializing driver queue mtx to '%s'\n", name);
+			mtx_init(&ifp->if_snd.ifq_mtx, name,
 			    MTX_NETWORK_LOCK, MTX_DEF);
 		}
 	}
--- if.c-DIFF ends here ---
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: rwatson 
State-Changed-When: Tue Feb 3 10:06:52 UTC 2009 
State-Changed-Why:  
It looks like a functionally similar change has been made 
independently in the tree as part of general improvements to if.c, 
so close this PR: 

537 void 
538 ifq_attach(struct ifaltq *ifq, struct ifnet *ifp) 
539 { 
540          
541         mtx_init(&ifq->ifq_mtx, ifp->if_xname, "if send queue", MTX_DEF); 
542  
543         if (ifq->ifq_maxlen == 0)  
544                 ifq->ifq_maxlen = ifqmaxlen; 
545  

Thanks for the suggestion! 


http://www.freebsd.org/cgi/query-pr.cgi?pr=85648 
>Unformatted:
