Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Oct 2010 01:47:47 +0000 (UTC)
From:      Jeff Roberson <jeff@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r213821 - projects/ofed/head/sys/ofed/include/linux
Message-ID:  <201010140147.o9E1llKY008475@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jeff
Date: Thu Oct 14 01:47:47 2010
New Revision: 213821
URL: http://svn.freebsd.org/changeset/base/213821

Log:
   - Don't hold giant when calling wrapped callouts.
   - Do hold giant when calling devclass_add_child.
  
  Sponsored by:	Isilon Systems, iX Systems, and Panasas.

Modified:
  projects/ofed/head/sys/ofed/include/linux/module.h
  projects/ofed/head/sys/ofed/include/linux/pci.h

Modified: projects/ofed/head/sys/ofed/include/linux/module.h
==============================================================================
--- projects/ofed/head/sys/ofed/include/linux/module.h	Thu Oct 14 01:47:07 2010	(r213820)
+++ projects/ofed/head/sys/ofed/include/linux/module.h	Thu Oct 14 01:47:47 2010	(r213821)
@@ -61,7 +61,9 @@ _module_run(void *arg)
 		printf("Running %s (%p)\n", name, pc);
 
 	fn = arg;
+	DROP_GIANT();
 	fn();
+	PICKUP_GIANT();
 }
 
 #define	module_init(fn)							\

Modified: projects/ofed/head/sys/ofed/include/linux/pci.h
==============================================================================
--- projects/ofed/head/sys/ofed/include/linux/pci.h	Thu Oct 14 01:47:07 2010	(r213820)
+++ projects/ofed/head/sys/ofed/include/linux/pci.h	Thu Oct 14 01:47:47 2010	(r213821)
@@ -425,8 +425,10 @@ pci_register_driver(struct pci_driver *p
 	pdrv->driver.name = pdrv->name;
 	pdrv->driver.methods = pci_methods;
 	pdrv->driver.size = sizeof(struct pci_dev);
+	mtx_lock(&Giant);
 	error = devclass_add_driver(bus, &pdrv->driver, BUS_PASS_DEFAULT,
 	    &pdrv->bsdclass);
+	mtx_unlock(&Giant);
 	if (error)
 		return (-error);
 	return (0);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201010140147.o9E1llKY008475>