svn commit: r358004 - in head/sys/dev: drm2 pci

Pawel Biernacki kaktus at FreeBSD.org
Sun Feb 16 17:11:55 UTC 2020


Author: kaktus
Date: Sun Feb 16 17:11:54 2020
New Revision: 358004
URL: https://svnweb.freebsd.org/changeset/base/358004

Log:
  Mark more nodes as CTLFLAG_MPSAFE or CTLFLAG_NEEDGIANT (5 of many)
  
  r357614 added CTLFLAG_NEEDGIANT to make it easier to find nodes that are
  still not MPSAFE (or already are but aren’t properly marked). Use it in
  preparation for a general review of all nodes.
  This is non-functional change that adds annotations to SYSCTL_NODE and
  SYSCTL_PROC nodes using one of the soon-to-be-required flags.
  
  Reviewed by:	imp, kib
  Approved by:	kib (mentor)
  Differential Revision:	https://reviews.freebsd.org/D23633

Modified:
  head/sys/dev/drm2/drm_pci.c
  head/sys/dev/drm2/drm_sysctl.c
  head/sys/dev/pci/pci.c

Modified: head/sys/dev/drm2/drm_pci.c
==============================================================================
--- head/sys/dev/drm2/drm_pci.c	Sun Feb 16 16:49:29 2020	(r358003)
+++ head/sys/dev/drm2/drm_pci.c	Sun Feb 16 17:11:54 2020	(r358004)
@@ -42,7 +42,8 @@ __FBSDID("$FreeBSD$");
 #include <dev/drm2/drmP.h>
 
 static int drm_msi = 1;	/* Enable by default. */
-SYSCTL_NODE(_hw, OID_AUTO, drm, CTLFLAG_RW, NULL, "DRM device");
+SYSCTL_NODE(_hw, OID_AUTO, drm, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL,
+    "DRM device");
 SYSCTL_INT(_hw_drm, OID_AUTO, msi, CTLFLAG_RDTUN, &drm_msi, 1,
     "Enable MSI interrupts for drm devices");
 

Modified: head/sys/dev/drm2/drm_sysctl.c
==============================================================================
--- head/sys/dev/drm2/drm_sysctl.c	Sun Feb 16 16:49:29 2020	(r358003)
+++ head/sys/dev/drm2/drm_sysctl.c	Sun Feb 16 17:11:54 2020	(r358004)
@@ -69,7 +69,7 @@ int drm_sysctl_init(struct drm_device *dev)
 
 	/* Add the sysctl node for DRI if it doesn't already exist */
 	drioid = SYSCTL_ADD_NODE(&info->ctx, SYSCTL_CHILDREN(&sysctl___hw), OID_AUTO,
-	    "dri", CTLFLAG_RW, NULL, "DRI Graphics");
+	    "dri", CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, "DRI Graphics");
 	if (!drioid) {
 		free(dev->sysctl, DRM_MEM_DRIVER);
 		dev->sysctl = NULL;
@@ -92,23 +92,17 @@ int drm_sysctl_init(struct drm_device *dev)
 	info->name[0] = '0' + i;
 	info->name[1] = 0;
 	top = SYSCTL_ADD_NODE(&info->ctx, SYSCTL_CHILDREN(drioid),
-	    OID_AUTO, info->name, CTLFLAG_RW, NULL, NULL);
+	    OID_AUTO, info->name, CTLFLAG_RW | CTLFLAG_MPSAFE, NULL, NULL);
 	if (!top) {
 		drm_sysctl_cleanup(dev);
 		return (-ENOMEM);
 	}
 
 	for (i = 0; i < DRM_SYSCTL_ENTRIES; i++) {
-		oid = SYSCTL_ADD_OID(&info->ctx,
-			SYSCTL_CHILDREN(top),
-			OID_AUTO,
-			drm_sysctl_list[i].name,
-			CTLTYPE_STRING | CTLFLAG_RD,
-			dev,
-			0,
-			drm_sysctl_list[i].f,
-			"A",
-			NULL);
+		oid = SYSCTL_ADD_OID(&info->ctx, SYSCTL_CHILDREN(top),
+			OID_AUTO, drm_sysctl_list[i].name,
+			CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_NEEDGIANT,
+			dev, 0, drm_sysctl_list[i].f, "A", NULL);
 		if (!oid) {
 			drm_sysctl_cleanup(dev);
 			return (-ENOMEM);

Modified: head/sys/dev/pci/pci.c
==============================================================================
--- head/sys/dev/pci/pci.c	Sun Feb 16 16:49:29 2020	(r358003)
+++ head/sys/dev/pci/pci.c	Sun Feb 16 17:11:54 2020	(r358004)
@@ -332,7 +332,8 @@ uint32_t pci_numdevs = 0;
 static int pcie_chipset, pcix_chipset;
 
 /* sysctl vars */
-SYSCTL_NODE(_hw, OID_AUTO, pci, CTLFLAG_RD, 0, "PCI bus tuning parameters");
+SYSCTL_NODE(_hw, OID_AUTO, pci, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
+    "PCI bus tuning parameters");
 
 static int pci_enable_io_modes = 1;
 SYSCTL_INT(_hw_pci, OID_AUTO, enable_io_modes, CTLFLAG_RWTUN,


More information about the svn-src-head mailing list