|
diff --git a/share/man/man9/spinlock.9 b/share/man/man9/spinlock.9
|
|
index 2c2a115..f8e3aee 100644
|
|
--- a/share/man/man9/spinlock.9
|
|
+++ b/share/man/man9/spinlock.9
|
|
@@ -46,7 +46,7 @@
|
|
.In sys/spinlock.h
|
|
.In sys/spinlock2.h
|
|
.Ft void
|
|
-.Fn spin_init "struct spinlock *mtx"
|
|
+.Fn spin_init "struct spinlock *mtx" "const char *descr"
|
|
.Ft void
|
|
.Fn spin_uninit "struct spinlock *mtx"
|
|
.Ft void
|
|
diff --git a/sys/bus/cam/cam_sim.c b/sys/bus/cam/cam_sim.c
|
|
index 85c7dba..5b3c704 100644
|
|
--- a/sys/bus/cam/cam_sim.c
|
|
+++ b/sys/bus/cam/cam_sim.c
|
|
@@ -211,7 +211,7 @@ cam_sim_alloc(sim_action_func sim_action, sim_poll_func sim_poll,
|
|
|
|
SLIST_INIT(&sim->ccb_freeq);
|
|
TAILQ_INIT(&sim->sim_doneq);
|
|
- spin_init(&sim->sim_spin);
|
|
+ spin_init(&sim->sim_spin, "cam_sim_alloc");
|
|
|
|
return (sim);
|
|
}
|
|
diff --git a/sys/bus/cam/cam_xpt.c b/sys/bus/cam/cam_xpt.c
|
|
index fc0f2f9..075113c 100644
|
|
--- a/sys/bus/cam/cam_xpt.c
|
|
+++ b/sys/bus/cam/cam_xpt.c
|
|
@@ -1452,13 +1452,13 @@ xpt_init(void *dummy)
|
|
STAILQ_INIT(&xsoftc.highpowerq);
|
|
xsoftc.num_highpower = CAM_MAX_HIGHPOWER;
|
|
|
|
- spin_init(&cam_simq_spin);
|
|
+ spin_init(&cam_simq_spin, "cam_simq_spin");
|
|
lockinit(&xsoftc.xpt_lock, "XPT lock", 0, LK_CANRECURSE);
|
|
lockinit(&xsoftc.xpt_topo_lock, "XPT topology lock", 0, LK_CANRECURSE);
|
|
|
|
SLIST_INIT(&cam_dead_sim.ccb_freeq);
|
|
TAILQ_INIT(&cam_dead_sim.sim_doneq);
|
|
- spin_init(&cam_dead_sim.sim_spin);
|
|
+ spin_init(&cam_dead_sim.sim_spin, "cam_dead_sim");
|
|
cam_dead_sim.sim_action = dead_sim_action;
|
|
cam_dead_sim.sim_poll = dead_sim_poll;
|
|
cam_dead_sim.sim_name = "dead_sim";
|
|
diff --git a/sys/bus/pci/i386/pci_cfgreg.c b/sys/bus/pci/i386/pci_cfgreg.c
|
|
index 0aea827..003eac5 100644
|
|
--- a/sys/bus/pci/i386/pci_cfgreg.c
|
|
+++ b/sys/bus/pci/i386/pci_cfgreg.c
|
|
@@ -52,7 +52,7 @@
|
|
#include <machine/pmap.h>
|
|
|
|
#if defined(__DragonFly__)
|
|
-#define mtx_init(a, b, c, d) spin_init(a)
|
|
+#define mtx_init(a, b, c, d) spin_init(a, b)
|
|
#define mtx_lock_spin(a) spin_lock(a)
|
|
#define mtx_unlock_spin(a) spin_unlock(a)
|
|
#endif
|
|
diff --git a/sys/bus/pci/x86_64/pci_cfgreg.c b/sys/bus/pci/x86_64/pci_cfgreg.c
|
|
index 0d12a73..9da2043 100644
|
|
--- a/sys/bus/pci/x86_64/pci_cfgreg.c
|
|
+++ b/sys/bus/pci/x86_64/pci_cfgreg.c
|
|
@@ -89,7 +89,7 @@ pci_cfgregopen(void)
|
|
|
|
if (!inited) {
|
|
inited = 1;
|
|
- spin_init(&pcicfg_spin);
|
|
+ spin_init(&pcicfg_spin, "pcicfg");
|
|
}
|
|
|
|
if (cfgmech != CFGMECH_NONE)
|
|
diff --git a/sys/dev/acpica/Osd/OsdSynch.c b/sys/dev/acpica/Osd/OsdSynch.c
|
|
index 863536a..2912004 100644
|
|
--- a/sys/dev/acpica/Osd/OsdSynch.c
|
|
+++ b/sys/dev/acpica/Osd/OsdSynch.c
|
|
@@ -95,7 +95,7 @@ AcpiOsCreateSemaphore(UINT32 MaxUnits, UINT32 InitialUnits,
|
|
|
|
as = kmalloc(sizeof(*as), M_ACPISEM, M_INTWAIT | M_ZERO);
|
|
|
|
- spin_init(&as->as_spin);
|
|
+ spin_init(&as->as_spin, "AcpiOsSem");
|
|
as->as_units = InitialUnits;
|
|
as->as_maxunits = MaxUnits;
|
|
as->as_pendings = as->as_resetting = as->as_timeouts = 0;
|
|
@@ -345,7 +345,7 @@ AcpiOsCreateLock(ACPI_SPINLOCK *OutHandle)
|
|
if (OutHandle == NULL)
|
|
return (AE_BAD_PARAMETER);
|
|
spin = kmalloc(sizeof(*spin), M_ACPISEM, M_INTWAIT|M_ZERO);
|
|
- spin_init(&spin->lock);
|
|
+ spin_init(&spin->lock, "AcpiOsLock");
|
|
#ifdef ACPI_DEBUG_LOCKS
|
|
spin->owner = NULL;
|
|
spin->func = "";
|
|
diff --git a/sys/dev/crypto/aesni/aesni.c b/sys/dev/crypto/aesni/aesni.c
|
|
index a4919d5..3c4b7d2 100644
|
|
--- a/sys/dev/crypto/aesni/aesni.c
|
|
+++ b/sys/dev/crypto/aesni/aesni.c
|
|
@@ -92,7 +92,7 @@ aesni_attach(device_t dev)
|
|
return (ENOMEM);
|
|
}
|
|
|
|
- spin_init(&sc->lock);
|
|
+ spin_init(&sc->lock, "aesniattach");
|
|
crypto_register(sc->cid, CRYPTO_AES_CBC, 0, 0);
|
|
crypto_register(sc->cid, CRYPTO_AES_XTS, 0, 0);
|
|
return (0);
|
|
diff --git a/sys/dev/crypto/glxsb/glxsb.c b/sys/dev/crypto/glxsb/glxsb.c
|
|
index 17f15d7..40f012f 100644
|
|
--- a/sys/dev/crypto/glxsb/glxsb.c
|
|
+++ b/sys/dev/crypto/glxsb/glxsb.c
|
|
@@ -508,8 +508,8 @@ glxsb_crypto_setup(struct glxsb_softc *sc)
|
|
|
|
TAILQ_INIT(&sc->sc_sessions);
|
|
sc->sc_sid = 1;
|
|
- spin_init(&sc->sc_sessions_lock);
|
|
- spin_init(&sc->sc_task_mtx);
|
|
+ spin_init(&sc->sc_sessions_lock, "glxsb_sessions");
|
|
+ spin_init(&sc->sc_task_mtx, "glxsb_task");
|
|
|
|
if (crypto_register(sc->sc_cid, CRYPTO_AES_CBC, 0, 0) != 0)
|
|
goto crypto_fail;
|
|
diff --git a/sys/dev/crypto/padlock/padlock.c b/sys/dev/crypto/padlock/padlock.c
|
|
index 96e663e..b203cf2 100644
|
|
--- a/sys/dev/crypto/padlock/padlock.c
|
|
+++ b/sys/dev/crypto/padlock/padlock.c
|
|
@@ -126,7 +126,7 @@ padlock_attach(device_t dev)
|
|
return (ENOMEM);
|
|
}
|
|
|
|
- spin_init(&sc->sc_sessions_lock);
|
|
+ spin_init(&sc->sc_sessions_lock, "padlock");
|
|
crypto_register(sc->sc_cid, CRYPTO_AES_CBC, 0, 0);
|
|
crypto_register(sc->sc_cid, CRYPTO_MD5_HMAC, 0, 0);
|
|
crypto_register(sc->sc_cid, CRYPTO_SHA1_HMAC, 0, 0);
|
|
diff --git a/sys/dev/disk/nata/ata-all.c b/sys/dev/disk/nata/ata-all.c
|
|
index 5a84352..0bd005b 100644
|
|
--- a/sys/dev/disk/nata/ata-all.c
|
|
+++ b/sys/dev/disk/nata/ata-all.c
|
|
@@ -122,8 +122,8 @@ ata_attach(device_t dev)
|
|
/* initialize the softc basics */
|
|
ch->dev = dev;
|
|
ch->state = ATA_IDLE;
|
|
- spin_init(&ch->state_mtx);
|
|
- spin_init(&ch->queue_mtx);
|
|
+ spin_init(&ch->state_mtx, "ataattach_state");
|
|
+ spin_init(&ch->queue_mtx, "ataattach_queue");
|
|
ata_queue_init(ch);
|
|
|
|
/* reset the controller HW, the channel and device(s) */
|
|
diff --git a/sys/dev/disk/nata/ata-chipset.c b/sys/dev/disk/nata/ata-chipset.c
|
|
index 287ab1e..3a1344f 100644
|
|
--- a/sys/dev/disk/nata/ata-chipset.c
|
|
+++ b/sys/dev/disk/nata/ata-chipset.c
|
|
@@ -3548,7 +3548,7 @@ ata_promise_chipinit(device_t dev)
|
|
/* setup host packet controls */
|
|
hpkt = kmalloc(sizeof(struct ata_promise_sx4),
|
|
M_TEMP, M_INTWAIT | M_ZERO);
|
|
- spin_init(&hpkt->mtx);
|
|
+ spin_init(&hpkt->mtx, "chipinit");
|
|
TAILQ_INIT(&hpkt->queue);
|
|
hpkt->busy = 0;
|
|
device_set_ivars(dev, hpkt);
|
|
@@ -5815,7 +5815,7 @@ ata_serialize(device_t dev, int flags)
|
|
if (!inited) {
|
|
serial = kmalloc(sizeof(struct ata_serialize),
|
|
M_TEMP, M_INTWAIT | M_ZERO);
|
|
- spin_init(&serial->locked_mtx);
|
|
+ spin_init(&serial->locked_mtx, "ataserialize");
|
|
serial->locked_ch = -1;
|
|
serial->restart_ch = -1;
|
|
device_set_ivars(ctlr->dev, serial);
|
|
diff --git a/sys/dev/disk/nata/ata-queue.c b/sys/dev/disk/nata/ata-queue.c
|
|
index ff7fda3..9ca13f2 100644
|
|
--- a/sys/dev/disk/nata/ata-queue.c
|
|
+++ b/sys/dev/disk/nata/ata-queue.c
|
|
@@ -92,7 +92,7 @@ ata_queue_request(struct ata_request *request)
|
|
ch = device_get_softc(request->parent);
|
|
callout_init_mp(&request->callout); /* serialization done via state_mtx */
|
|
if (!request->callback && !(request->flags & ATA_R_REQUEUE))
|
|
- spin_init(&request->done);
|
|
+ spin_init(&request->done, "ataqueuerqdone");
|
|
|
|
/* in ATA_STALL_QUEUE state we call HW directly */
|
|
if ((ch->state & ATA_STALL_QUEUE) && (request->flags & ATA_R_CONTROL)) {
|
|
diff --git a/sys/dev/disk/nata/ata-raid.c b/sys/dev/disk/nata/ata-raid.c
|
|
index c32111f..ff4d909 100644
|
|
--- a/sys/dev/disk/nata/ata-raid.c
|
|
+++ b/sys/dev/disk/nata/ata-raid.c
|
|
@@ -138,7 +138,7 @@ ata_raid_attach(struct ar_softc *rdp, int writeback)
|
|
char buffer[32];
|
|
int disk;
|
|
|
|
- spin_init(&rdp->lock);
|
|
+ spin_init(&rdp->lock, "ataraidattach");
|
|
ata_raid_config_changed(rdp, writeback);
|
|
|
|
/* sanitize arrays total_size % (width * interleave) == 0 */
|
|
@@ -498,7 +498,7 @@ ata_raid_strategy(struct dev_strategy_args *ap)
|
|
rebuild->dev = rdp->disks[this].dev;
|
|
rebuild->flags &= ~ATA_R_READ;
|
|
rebuild->flags |= ATA_R_WRITE;
|
|
- spin_init(&composite->lock);
|
|
+ spin_init(&composite->lock, "ardfspare");
|
|
composite->residual = request->bytecount;
|
|
composite->rd_needed |= (1 << drv);
|
|
composite->wr_depend |= (1 << drv);
|
|
@@ -557,7 +557,7 @@ ata_raid_strategy(struct dev_strategy_args *ap)
|
|
sizeof(struct ata_request));
|
|
mirror->this = this;
|
|
mirror->dev = rdp->disks[this].dev;
|
|
- spin_init(&composite->lock);
|
|
+ spin_init(&composite->lock, "ardfonline");
|
|
composite->residual = request->bytecount;
|
|
composite->wr_needed |= (1 << drv);
|
|
composite->wr_needed |= (1 << this);
|
|
diff --git a/sys/dev/disk/nata/ata-usb.c b/sys/dev/disk/nata/ata-usb.c
|
|
index 478a536..f081196 100644
|
|
--- a/sys/dev/disk/nata/ata-usb.c
|
|
+++ b/sys/dev/disk/nata/ata-usb.c
|
|
@@ -223,7 +223,7 @@ atausb_attach(device_t dev)
|
|
sc->timeout = 5000;
|
|
sc->locked_ch = NULL;
|
|
sc->restart_ch = NULL;
|
|
- spin_init(&sc->locked_mtx);
|
|
+ spin_init(&sc->locked_mtx, "atausbattach");
|
|
|
|
id = usbd_get_interface_descriptor(sc->iface);
|
|
switch (id->bInterfaceProtocol) {
|
|
@@ -880,8 +880,8 @@ ata_usbchannel_attach(device_t dev)
|
|
ch->hw.end_transaction = ata_usbchannel_end_transaction;
|
|
ch->hw.status = NULL;
|
|
ch->hw.command = NULL;
|
|
- spin_init(&ch->state_mtx);
|
|
- spin_init(&ch->queue_mtx);
|
|
+ spin_init(&ch->state_mtx, "usbattach_state");
|
|
+ spin_init(&ch->queue_mtx, "usbattach_queue");
|
|
ata_queue_init(ch);
|
|
|
|
/* XXX SOS reset the controller HW, the channel and device(s) */
|
|
diff --git a/sys/dev/disk/nata/atapi-cam.c b/sys/dev/disk/nata/atapi-cam.c
|
|
index 8fadcfa..d522f22 100644
|
|
--- a/sys/dev/disk/nata/atapi-cam.c
|
|
+++ b/sys/dev/disk/nata/atapi-cam.c
|
|
@@ -195,7 +195,7 @@ atapi_cam_attach(device_t dev)
|
|
return ENOMEM;
|
|
}
|
|
|
|
- spin_init(&scp->state_lock);
|
|
+ spin_init(&scp->state_lock, "atapicamattach");
|
|
|
|
scp->dev = dev;
|
|
scp->parent = device_get_parent(dev);
|
|
diff --git a/sys/dev/drm/drm_dma.c b/sys/dev/drm/drm_dma.c
|
|
index 75c528a..651c15f 100644
|
|
--- a/sys/dev/drm/drm_dma.c
|
|
+++ b/sys/dev/drm/drm_dma.c
|
|
@@ -46,7 +46,7 @@ int drm_dma_setup(struct drm_device *dev)
|
|
if (dev->dma == NULL)
|
|
return ENOMEM;
|
|
|
|
- spin_init(&dev->dma_lock);
|
|
+ spin_init(&dev->dma_lock, "drmdma_lock");
|
|
|
|
return 0;
|
|
}
|
|
diff --git a/sys/dev/drm/drm_mm.c b/sys/dev/drm/drm_mm.c
|
|
index 26fd87f..7dcdf90 100644
|
|
--- a/sys/dev/drm/drm_mm.c
|
|
+++ b/sys/dev/drm/drm_mm.c
|
|
@@ -643,7 +643,7 @@ int drm_mm_init(struct drm_mm * mm, unsigned long start, unsigned long size)
|
|
INIT_LIST_HEAD(&mm->unused_nodes);
|
|
mm->num_unused = 0;
|
|
mm->scanned_blocks = 0;
|
|
- spin_init(&mm->unused_lock);
|
|
+ spin_init(&mm->unused_lock, "drmmminit");
|
|
|
|
/* Clever trick to avoid a special case in the free hole tracking. */
|
|
INIT_LIST_HEAD(&mm->head_node.node_list);
|
|
diff --git a/sys/dev/drm/i915/i915_dma.c b/sys/dev/drm/i915/i915_dma.c
|
|
index b82a4fe..a073a2b 100644
|
|
--- a/sys/dev/drm/i915/i915_dma.c
|
|
+++ b/sys/dev/drm/i915/i915_dma.c
|
|
@@ -1438,8 +1438,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags)
|
|
|
|
lockinit(&dev_priv->irq_lock, "userirq", 0, LK_CANRECURSE);
|
|
lockinit(&dev_priv->error_lock, "915err", 0, LK_CANRECURSE);
|
|
- spin_init(&dev_priv->rps.lock);
|
|
- spin_init(&dev_priv->dpio_lock);
|
|
+ spin_init(&dev_priv->rps.lock, "i915initrps");
|
|
+ spin_init(&dev_priv->dpio_lock, "i915initdpio");
|
|
|
|
lockinit(&dev_priv->rps.hw_lock, "i915 rps.hw_lock", 0, LK_CANRECURSE);
|
|
|
|
@@ -1565,7 +1565,7 @@ i915_driver_open(struct drm_device *dev, struct drm_file *file_priv)
|
|
i915_file_priv = kmalloc(sizeof(*i915_file_priv), DRM_MEM_FILES,
|
|
M_WAITOK | M_ZERO);
|
|
|
|
- spin_init(&i915_file_priv->mm.lock);
|
|
+ spin_init(&i915_file_priv->mm.lock, "i915priv");
|
|
INIT_LIST_HEAD(&i915_file_priv->mm.request_list);
|
|
file_priv->driver_priv = i915_file_priv;
|
|
|
|
diff --git a/sys/dev/drm/include/linux/wait.h b/sys/dev/drm/include/linux/wait.h
|
|
index 886fa8f..b974077 100644
|
|
--- a/sys/dev/drm/include/linux/wait.h
|
|
+++ b/sys/dev/drm/include/linux/wait.h
|
|
@@ -37,7 +37,7 @@ typedef struct {
|
|
static inline void
|
|
init_waitqueue_head(wait_queue_head_t *eq)
|
|
{
|
|
- spin_init(&eq->lock);
|
|
+ spin_init(&eq->lock, "linux_waitqueue");
|
|
}
|
|
|
|
#define wake_up(eq) wakeup_one(eq)
|
|
diff --git a/sys/dev/drm/radeon/radeon_device.c b/sys/dev/drm/radeon/radeon_device.c
|
|
index 6663847..4514025 100644
|
|
--- a/sys/dev/drm/radeon/radeon_device.c
|
|
+++ b/sys/dev/drm/radeon/radeon_device.c
|
|
@@ -1031,10 +1031,10 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
lockinit(&rdev->dc_hw_i2c_mutex,
|
|
"drm__radeon_device__dc_hw_i2c_mutex", 0, LK_CANRECURSE);
|
|
atomic_set(&rdev->ih.lock, 0);
|
|
- spin_init(&rdev->gem.mutex);
|
|
+ spin_init(&rdev->gem.mutex, "radeon_gemmtx");
|
|
lockinit(&rdev->pm.mutex, "drm__radeon_device__pm__mutex", 0,
|
|
LK_CANRECURSE);
|
|
- spin_init(&rdev->gpu_clock_mutex);
|
|
+ spin_init(&rdev->gpu_clock_mutex, "radeon_clockmtx");
|
|
lockinit(&rdev->pm.mclk_lock, "drm__radeon_device__pm__mclk_lock", 0,
|
|
LK_CANRECURSE);
|
|
lockinit(&rdev->exclusive_lock, "drm__radeon_device__exclusive_lock",
|
|
@@ -1101,7 +1101,7 @@ int radeon_device_init(struct radeon_device *rdev,
|
|
|
|
/* Registers mapping */
|
|
/* TODO: block userspace mapping of io register */
|
|
- spin_init(&rdev->mmio_idx_lock);
|
|
+ spin_init(&rdev->mmio_idx_lock, "radeon_mpio");
|
|
rdev->rmmio_rid = PCIR_BAR(2);
|
|
rdev->rmmio = bus_alloc_resource_any(rdev->dev, SYS_RES_MEMORY,
|
|
&rdev->rmmio_rid, RF_ACTIVE | RF_SHAREABLE);
|
|
diff --git a/sys/dev/drm/ttm/ttm_memory.c b/sys/dev/drm/ttm/ttm_memory.c
|
|
index bb7c37a..3b48ee1 100644
|
|
--- a/sys/dev/drm/ttm/ttm_memory.c
|
|
+++ b/sys/dev/drm/ttm/ttm_memory.c
|
|
@@ -253,7 +253,7 @@ int ttm_mem_global_init(struct ttm_mem_global *glob)
|
|
int i;
|
|
struct ttm_mem_zone *zone;
|
|
|
|
- spin_init(&glob->spin);
|
|
+ spin_init(&glob->spin, "ttmemglob");
|
|
glob->swap_queue = taskqueue_create("ttm_swap", M_WAITOK,
|
|
taskqueue_thread_enqueue, &glob->swap_queue);
|
|
taskqueue_start_threads(&glob->swap_queue, 1, 0, -1, "ttm swap");
|
|
diff --git a/sys/dev/misc/putter/putter.c b/sys/dev/misc/putter/putter.c
|
|
index 868115c..fffe062 100644
|
|
--- a/sys/dev/misc/putter/putter.c
|
|
+++ b/sys/dev/misc/putter/putter.c
|
|
@@ -170,7 +170,7 @@ int putterdebug = 0;
|
|
*/
|
|
|
|
/* protects both the list and the contents of the list elements */
|
|
-static struct spinlock pi_mtx = SPINLOCK_INITIALIZER(&pi_mtx);
|
|
+static struct spinlock pi_mtx = SPINLOCK_INITIALIZER("pi_mtx", &pi_mtx);
|
|
|
|
/*
|
|
* fd routines, for cloner
|
|
diff --git a/sys/dev/netif/ath/ath_hal/ah_osdep.c b/sys/dev/netif/ath/ath_hal/ah_osdep.c
|
|
index e5b27dd..fa57d63 100644
|
|
--- a/sys/dev/netif/ath/ath_hal/ah_osdep.c
|
|
+++ b/sys/dev/netif/ath/ath_hal/ah_osdep.c
|
|
@@ -78,7 +78,7 @@
|
|
* XXX This is a global lock for now; it should be pushed to
|
|
* a per-device lock in some platform-independent fashion.
|
|
*/
|
|
-struct spinlock ah_regser_spin = SPINLOCK_INITIALIZER(ah_regser_spin);
|
|
+struct spinlock ah_regser_spin = SPINLOCK_INITIALIZER("ah_regser_spin", ah_regser_spin);
|
|
|
|
extern void ath_hal_printf(struct ath_hal *, const char*, ...)
|
|
__printflike(2,3);
|
|
diff --git a/sys/dev/raid/mrsas/mrsas.c b/sys/dev/raid/mrsas/mrsas.c
|
|
index a26d9da..1c6051a 100644
|
|
--- a/sys/dev/raid/mrsas/mrsas.c
|
|
+++ b/sys/dev/raid/mrsas/mrsas.c
|
|
@@ -776,7 +776,7 @@ static int mrsas_attach(device_t dev)
|
|
lockinit(&sc->pci_lock, "mrsas_pci_lock", 0, LK_CANRECURSE);
|
|
lockinit(&sc->io_lock, "mrsas_io_lock", 0, LK_CANRECURSE);
|
|
lockinit(&sc->aen_lock, "mrsas_aen_lock", 0, LK_CANRECURSE);
|
|
- spin_init(&sc->ioctl_lock);
|
|
+ spin_init(&sc->ioctl_lock, "mrsasioctl");
|
|
lockinit(&sc->mpt_cmd_pool_lock, "mrsas_mpt_cmd_pool_lock", 0,
|
|
LK_CANRECURSE);
|
|
lockinit(&sc->mfi_cmd_pool_lock, "mrsas_mfi_cmd_pool_lock", 0,
|
|
diff --git a/sys/dev/raid/twa/tw_osl_freebsd.c b/sys/dev/raid/twa/tw_osl_freebsd.c
|
|
index 679fc3a..4c5f1ab 100644
|
|
--- a/sys/dev/raid/twa/tw_osl_freebsd.c
|
|
+++ b/sys/dev/raid/twa/tw_osl_freebsd.c
|
|
@@ -306,9 +306,9 @@ twa_attach(device_t dev)
|
|
|
|
/* Initialize the mutexes right here. */
|
|
sc->io_lock = &(sc->io_lock_handle);
|
|
- spin_init(sc->io_lock);
|
|
+ spin_init(sc->io_lock, "twa_iolock");
|
|
sc->q_lock = &(sc->q_lock_handle);
|
|
- spin_init(sc->q_lock);
|
|
+ spin_init(sc->q_lock, "twa_qlock");
|
|
sc->sim_lock = &(sc->sim_lock_handle);
|
|
lockinit(sc->sim_lock, "tw_osl_sim_lock", 0, LK_CANRECURSE);
|
|
|
|
diff --git a/sys/dev/raid/twa/tw_osl_inline.h b/sys/dev/raid/twa/tw_osl_inline.h
|
|
index 5a2d2e1..1fb926f 100644
|
|
--- a/sys/dev/raid/twa/tw_osl_inline.h
|
|
+++ b/sys/dev/raid/twa/tw_osl_inline.h
|
|
@@ -60,7 +60,7 @@
|
|
* Return value: None
|
|
*/
|
|
#define tw_osl_init_lock(ctlr_handle, lock_name, lock) \
|
|
- spin_init(lock)
|
|
+ spin_init(lock, lock_name)
|
|
|
|
|
|
|
|
diff --git a/sys/emulation/linux/linux_futex.c b/sys/emulation/linux/linux_futex.c
|
|
index 93f7140..fd693f7 100644
|
|
--- a/sys/emulation/linux/linux_futex.c
|
|
+++ b/sys/emulation/linux/linux_futex.c
|
|
@@ -89,7 +89,7 @@ struct futex_list futex_list;
|
|
#if 0
|
|
#define FUTEX_LOCK(f) spin_lock(&(f)->f_lck)
|
|
#define FUTEX_UNLOCK(f) spin_unlock(&(f)->f_lck)
|
|
-#define FUTEX_INIT(f) spin_init(&(f)->f_lck)
|
|
+#define FUTEX_INIT(f) spin_init(&(f)->f_lck, "futex")
|
|
#define FUTEX_SLEEP(f, id, flag, wm, timo) ssleep((id), &(f)->f_lck, (flag), (wm), (timo))
|
|
#endif
|
|
|
|
diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c
|
|
index 742c391..b1c20a3 100644
|
|
--- a/sys/kern/init_main.c
|
|
+++ b/sys/kern/init_main.c
|
|
@@ -164,7 +164,7 @@ mi_proc0init(struct globaldata *gd, struct user *proc0paddr)
|
|
lwkt_init_thread(&thread0, proc0paddr, LWKT_THREAD_STACK, 0, gd);
|
|
lwkt_set_comm(&thread0, "thread0");
|
|
RB_INIT(&proc0.p_lwp_tree);
|
|
- spin_init(&proc0.p_spin);
|
|
+ spin_init(&proc0.p_spin, "iproc_proc0");
|
|
lwkt_token_init(&proc0.p_token, "iproc");
|
|
proc0.p_lasttid = 0; /* +1 = next TID */
|
|
lwp_rb_tree_RB_INSERT(&proc0.p_lwp_tree, &lwp0);
|
|
@@ -173,7 +173,7 @@ mi_proc0init(struct globaldata *gd, struct user *proc0paddr)
|
|
proc0.p_usched = usched_init();
|
|
CPUMASK_ASSALLONES(lwp0.lwp_cpumask);
|
|
lwkt_token_init(&lwp0.lwp_token, "lwp_token");
|
|
- spin_init(&lwp0.lwp_spin);
|
|
+ spin_init(&lwp0.lwp_spin, "iproc_lwp0");
|
|
varsymset_init(&proc0.p_varsymset, NULL);
|
|
thread0.td_flags |= TDF_RUNNING;
|
|
thread0.td_proc = &proc0;
|
|
diff --git a/sys/kern/kern_condvar.c b/sys/kern/kern_condvar.c
|
|
index 8ec0c3e..a01344d 100644
|
|
--- a/sys/kern/kern_condvar.c
|
|
+++ b/sys/kern/kern_condvar.c
|
|
@@ -8,7 +8,7 @@ cv_init(struct cv *c, const char *desc)
|
|
{
|
|
c->cv_desc = desc;
|
|
c->cv_waiters = 0;
|
|
- spin_init(&c->cv_lock);
|
|
+ spin_init(&c->cv_lock, "cvinit");
|
|
}
|
|
|
|
void
|
|
diff --git a/sys/kern/kern_descrip.c b/sys/kern/kern_descrip.c
|
|
index 5925185..7b857e4 100644
|
|
--- a/sys/kern/kern_descrip.c
|
|
+++ b/sys/kern/kern_descrip.c
|
|
@@ -126,7 +126,7 @@ static struct dev_ops fildesc_ops = {
|
|
* Descriptor management.
|
|
*/
|
|
static struct filelist filehead = LIST_HEAD_INITIALIZER(&filehead);
|
|
-static struct spinlock filehead_spin = SPINLOCK_INITIALIZER(&filehead_spin);
|
|
+static struct spinlock filehead_spin = SPINLOCK_INITIALIZER("filehead_spin", &filehead_spin);
|
|
static int nfiles; /* actual number of open files */
|
|
extern int cmask;
|
|
|
|
@@ -1551,7 +1551,7 @@ falloc(struct lwp *lp, struct file **resultfp, int *resultfd)
|
|
* Allocate a new file descriptor.
|
|
*/
|
|
fp = kmalloc(sizeof(struct file), M_FILE, M_WAITOK | M_ZERO);
|
|
- spin_init(&fp->f_spin);
|
|
+ spin_init(&fp->f_spin, "falloc");
|
|
SLIST_INIT(&fp->f_klist);
|
|
fp->f_count = 1;
|
|
fp->f_ops = &badfileops;
|
|
@@ -1774,7 +1774,7 @@ fdinit_bootstrap(struct proc *p0, struct filedesc *fdp0, int cmask)
|
|
fdp0->fd_files = fdp0->fd_builtin_files;
|
|
fdp0->fd_nfiles = NDFILE;
|
|
fdp0->fd_lastfile = -1;
|
|
- spin_init(&fdp0->fd_spin);
|
|
+ spin_init(&fdp0->fd_spin, "fdinitbootstrap");
|
|
}
|
|
|
|
/*
|
|
@@ -1818,7 +1818,7 @@ fdinit(struct proc *p)
|
|
newfdp->fd_files = newfdp->fd_builtin_files;
|
|
newfdp->fd_nfiles = NDFILE;
|
|
newfdp->fd_lastfile = -1;
|
|
- spin_init(&newfdp->fd_spin);
|
|
+ spin_init(&newfdp->fd_spin, "fdinit");
|
|
|
|
return (newfdp);
|
|
}
|
|
@@ -1934,7 +1934,7 @@ again:
|
|
newfdp->fd_lastfile = fdp->fd_lastfile;
|
|
newfdp->fd_freefile = fdp->fd_freefile;
|
|
newfdp->fd_cmask = fdp->fd_cmask;
|
|
- spin_init(&newfdp->fd_spin);
|
|
+ spin_init(&newfdp->fd_spin, "fdcopy");
|
|
|
|
/*
|
|
* Copy the descriptor table through (i). This also copies the
|
|
diff --git a/sys/kern/kern_environment.c b/sys/kern/kern_environment.c
|
|
index abda37d..094e19d 100644
|
|
--- a/sys/kern/kern_environment.c
|
|
+++ b/sys/kern/kern_environment.c
|
|
@@ -479,7 +479,7 @@ kenv_init(void *dummy)
|
|
}
|
|
kenv_dynp[i] = NULL;
|
|
|
|
- spin_init(&kenv_dynlock);
|
|
+ spin_init(&kenv_dynlock, "kenvdynlock");
|
|
kenv_isdynamic = 1;
|
|
}
|
|
SYSINIT(kenv, SI_BOOT1_POST, SI_ORDER_ANY, kenv_init, NULL);
|
|
diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c
|
|
index 8065ccf4..b5fbc4b 100644
|
|
--- a/sys/kern/kern_fork.c
|
|
+++ b/sys/kern/kern_fork.c
|
|
@@ -383,7 +383,7 @@ fork1(struct lwp *lp1, int flags, struct proc **procp)
|
|
p2->p_stat = SIDL;
|
|
|
|
RB_INIT(&p2->p_lwp_tree);
|
|
- spin_init(&p2->p_spin);
|
|
+ spin_init(&p2->p_spin, "procfork1");
|
|
lwkt_token_init(&p2->p_token, "proc");
|
|
lwkt_gettoken(&p2->p_token);
|
|
|
|
@@ -652,7 +652,7 @@ lwp_fork(struct lwp *origlp, struct proc *destproc, int flags)
|
|
crit_exit();
|
|
CPUMASK_ANDMASK(lp->lwp_cpumask, usched_mastermask);
|
|
lwkt_token_init(&lp->lwp_token, "lwp_token");
|
|
- spin_init(&lp->lwp_spin);
|
|
+ spin_init(&lp->lwp_spin, "lwptoken");
|
|
|
|
/*
|
|
* Assign the thread to the current cpu to begin with so we
|
|
diff --git a/sys/kern/kern_ktr.c b/sys/kern/kern_ktr.c
|
|
index 5cc1e79..21c144f 100644
|
|
--- a/sys/kern/kern_ktr.c
|
|
+++ b/sys/kern/kern_ktr.c
|
|
@@ -274,7 +274,7 @@ ktr_resync_callback(void *dummy __unused)
|
|
if (ktr_testspincnt) {
|
|
struct spinlock spin;
|
|
|
|
- spin_init(&spin);
|
|
+ spin_init(&spin, "ktrresync");
|
|
spin_lock(&spin);
|
|
spin_unlock(&spin);
|
|
logtest_noargs(spin_beg);
|
|
diff --git a/sys/kern/kern_nrandom.c b/sys/kern/kern_nrandom.c
|
|
index 944b5f7..0b1408f 100644
|
|
--- a/sys/kern/kern_nrandom.c
|
|
+++ b/sys/kern/kern_nrandom.c
|
|
@@ -468,7 +468,7 @@ rand_initialize(void)
|
|
#endif
|
|
|
|
|
|
- spin_init(&rand_spin);
|
|
+ spin_init(&rand_spin, "randinit");
|
|
|
|
/* Initialize IBAA. */
|
|
IBAA_Init();
|
|
diff --git a/sys/kern/kern_objcache.c b/sys/kern/kern_objcache.c
|
|
index a678cb2..6ac88ff 100644
|
|
--- a/sys/kern/kern_objcache.c
|
|
+++ b/sys/kern/kern_objcache.c
|
|
@@ -226,7 +226,7 @@ objcache_create(const char *name, int cluster_limit, int nom_cache,
|
|
*/
|
|
depot = &oc->depot[0];
|
|
|
|
- spin_init(&depot->spin);
|
|
+ spin_init(&depot->spin, "objcachedepot");
|
|
SLIST_INIT(&depot->fullmagazines);
|
|
SLIST_INIT(&depot->emptymagazines);
|
|
|
|
@@ -989,7 +989,7 @@ objcache_timer(void *dummy)
|
|
static void
|
|
objcache_init(void)
|
|
{
|
|
- spin_init(&objcachelist_spin);
|
|
+ spin_init(&objcachelist_spin, "objcachelist");
|
|
|
|
magazine_capmin = mag_capacity_align(MAGAZINE_CAPACITY_MIN);
|
|
magazine_capmax = mag_capacity_align(MAGAZINE_CAPACITY_MAX);
|
|
diff --git a/sys/kern/kern_plimit.c b/sys/kern/kern_plimit.c
|
|
index 4bcc2db..d4d702a 100644
|
|
--- a/sys/kern/kern_plimit.c
|
|
+++ b/sys/kern/kern_plimit.c
|
|
@@ -111,7 +111,7 @@ plimit_init0(struct plimit *limit)
|
|
limit->pl_rlimit[RLIMIT_MEMLOCK].rlim_cur = lim / 3;
|
|
limit->p_cpulimit = RLIM_INFINITY;
|
|
limit->p_refcnt = 1;
|
|
- spin_init(&limit->p_spin);
|
|
+ spin_init(&limit->p_spin, "plimitinit");
|
|
}
|
|
|
|
/*
|
|
@@ -515,7 +515,7 @@ plimit_copy(struct plimit *olimit, struct plimit *nlimit)
|
|
{
|
|
*nlimit = *olimit;
|
|
|
|
- spin_init(&nlimit->p_spin);
|
|
+ spin_init(&nlimit->p_spin, "plimitcopy");
|
|
nlimit->p_refcnt = 1;
|
|
nlimit->p_exclusive = 0;
|
|
}
|
|
diff --git a/sys/kern/kern_resource.c b/sys/kern/kern_resource.c
|
|
index 0d90ef0..19d3e68 100644
|
|
--- a/sys/kern/kern_resource.c
|
|
+++ b/sys/kern/kern_resource.c
|
|
@@ -915,7 +915,7 @@ ruadd(struct rusage *ru, struct rusage *ru2)
|
|
void
|
|
uihashinit(void)
|
|
{
|
|
- spin_init(&uihash_lock);
|
|
+ spin_init(&uihash_lock, "uihashinit");
|
|
uihashtbl = hashinit(maxproc / 16, M_UIDINFO, &uihash);
|
|
}
|
|
|
|
@@ -957,7 +957,7 @@ uicreate(uid_t uid)
|
|
/*
|
|
* Initialize structure and enter it into the hash table
|
|
*/
|
|
- spin_init(&uip->ui_lock);
|
|
+ spin_init(&uip->ui_lock, "uicreate");
|
|
uip->ui_uid = uid;
|
|
uip->ui_ref = 1; /* we're returning a ref */
|
|
varsymset_init(&uip->ui_varsymset, NULL);
|
|
diff --git a/sys/kern/kern_sensors.c b/sys/kern/kern_sensors.c
|
|
index 7d29e81..c2fe087 100644
|
|
--- a/sys/kern/kern_sensors.c
|
|
+++ b/sys/kern/kern_sensors.c
|
|
@@ -38,7 +38,7 @@
|
|
|
|
static int sensor_task_lock_inited = 0;
|
|
static struct lock sensor_task_lock;
|
|
-static struct spinlock sensor_dev_lock = SPINLOCK_INITIALIZER(sensor_dev_lock);
|
|
+static struct spinlock sensor_dev_lock = SPINLOCK_INITIALIZER("sensor_dev_lock", sensor_dev_lock);
|
|
|
|
int sensordev_count = 0;
|
|
SLIST_HEAD(, ksensordev) sensordev_list = SLIST_HEAD_INITIALIZER(sensordev_list);
|
|
diff --git a/sys/kern/kern_spinlock.c b/sys/kern/kern_spinlock.c
|
|
index a2764d8..4027cd0 100644
|
|
--- a/sys/kern/kern_spinlock.c
|
|
+++ b/sys/kern/kern_spinlock.c
|
|
@@ -70,7 +70,7 @@
|
|
#include <pthread.h>
|
|
#endif
|
|
|
|
-struct spinlock pmap_spin = SPINLOCK_INITIALIZER(pmap_spin);
|
|
+struct spinlock pmap_spin = SPINLOCK_INITIALIZER("pmap_spin", pmap_spin);
|
|
|
|
struct indefinite_info {
|
|
sysclock_t base;
|
|
@@ -199,6 +199,7 @@ _spin_lock_contested(struct spinlock *spin, const char *ident)
|
|
atomic_clear_int(&spin->counta, SPINLOCK_SHARED);
|
|
|
|
#ifdef DEBUG_LOCKS_LATENCY
|
|
+ kprintf("spinlock %s : _spin_lock_contested", spin->descr);
|
|
long j;
|
|
for (j = spinlocks_add_latency; j > 0; --j)
|
|
cpu_ccfence();
|
|
@@ -433,7 +434,7 @@ sysctl_spin_lock_test(SYSCTL_HANDLER_ARGS)
|
|
* Indefinite wait test
|
|
*/
|
|
if (value == 1) {
|
|
- spin_init(&spin);
|
|
+ spin_init(&spin, "sysctllock");
|
|
spin_lock(&spin); /* force an indefinite wait */
|
|
spin_lock_test_mode = 1;
|
|
spin_lock(&spin);
|
|
@@ -448,7 +449,7 @@ sysctl_spin_lock_test(SYSCTL_HANDLER_ARGS)
|
|
if (value == 2) {
|
|
globaldata_t gd = mycpu;
|
|
|
|
- spin_init(&spin);
|
|
+ spin_init(&spin, "sysctllocktest");
|
|
for (i = spin_test_count; i > 0; --i) {
|
|
_spin_lock_quick(gd, &spin, "test");
|
|
spin_unlock_quick(gd, &spin);
|
|
diff --git a/sys/kern/kern_sysref.c b/sys/kern/kern_sysref.c
|
|
index 97aed42..f9811d6 100644
|
|
--- a/sys/kern/kern_sysref.c
|
|
+++ b/sys/kern/kern_sysref.c
|
|
@@ -80,7 +80,7 @@ sysrefbootinit(void *dummy __unused)
|
|
|
|
for (i = 0; i < ncpus; ++i) {
|
|
sa = &sysref_array[i];
|
|
- spin_init(&sa->spin);
|
|
+ spin_init(&sa->spin, "sysrefbootinit");
|
|
RB_INIT(&sa->rbtree);
|
|
}
|
|
}
|
|
diff --git a/sys/kern/kern_wdog.c b/sys/kern/kern_wdog.c
|
|
index 129407f..ef3f4c6 100644
|
|
--- a/sys/kern/kern_wdog.c
|
|
+++ b/sys/kern/kern_wdog.c
|
|
@@ -207,7 +207,7 @@ static struct dev_ops wdog_ops = {
|
|
static void
|
|
wdog_init(void)
|
|
{
|
|
- spin_init(&wdogmtx);
|
|
+ spin_init(&wdogmtx, "wdog");
|
|
make_dev(&wdog_ops, 0,
|
|
UID_ROOT, GID_WHEEL, 0600, "wdog");
|
|
callout_init_mp(&wdog_callout);
|
|
diff --git a/sys/kern/lwkt_msgport.c b/sys/kern/lwkt_msgport.c
|
|
index 36c08a7..48943f3 100644
|
|
--- a/sys/kern/lwkt_msgport.c
|
|
+++ b/sys/kern/lwkt_msgport.c
|
|
@@ -370,7 +370,7 @@ lwkt_initport_spin(lwkt_port_t port, thread_t td, boolean_t fixed_cpuid)
|
|
lwkt_spin_replyport,
|
|
dmsgfn,
|
|
pportfn_oncpu);
|
|
- spin_init(&port->mpu_spin);
|
|
+ spin_init(&port->mpu_spin, "lwktinitport");
|
|
port->mpu_td = td;
|
|
if (fixed_cpuid)
|
|
port->mp_cpuid = td->td_gd->gd_cpuid;
|
|
diff --git a/sys/kern/lwkt_token.c b/sys/kern/lwkt_token.c
|
|
index fdec0d0..44773a4 100644
|
|
--- a/sys/kern/lwkt_token.c
|
|
+++ b/sys/kern/lwkt_token.c
|
|
@@ -87,7 +87,7 @@ extern int lwkt_sched_debug;
|
|
#endif
|
|
|
|
static lwkt_token pool_tokens[LWKT_NUM_POOL_TOKENS];
|
|
-struct spinlock tok_debug_spin = SPINLOCK_INITIALIZER(&tok_debug_spin);
|
|
+struct spinlock tok_debug_spin = SPINLOCK_INITIALIZER("tok_debug_spin", &tok_debug_spin);
|
|
|
|
#define TOKEN_STRING "REF=%p TOK=%p TD=%p"
|
|
#define TOKEN_ARGS lwkt_tokref_t ref, lwkt_token_t tok, struct thread *td
|
|
diff --git a/sys/kern/subr_csprng.c b/sys/kern/subr_csprng.c
|
|
index 0af44e3..02380de 100644
|
|
--- a/sys/kern/subr_csprng.c
|
|
+++ b/sys/kern/subr_csprng.c
|
|
@@ -52,7 +52,7 @@
|
|
|
|
/* Lock macros */
|
|
#define POOL_LOCK_INIT(pool) \
|
|
- spin_init(&(pool)->lock)
|
|
+ spin_init(&(pool)->lock, "csprng_poollock")
|
|
|
|
#define POOL_LOCK(pool) \
|
|
spin_lock(&pool->lock)
|
|
@@ -65,7 +65,7 @@
|
|
|
|
|
|
#define STATE_LOCK_INIT(state) \
|
|
- spin_init(&state->lock)
|
|
+ spin_init(&state->lock, "csprng_statelock")
|
|
|
|
#define STATE_LOCK(state) \
|
|
spin_lock(&state->lock)
|
|
@@ -329,8 +329,10 @@ csprng_add_entropy(struct csprng_state *state, int src_id,
|
|
* of spinning until we get it, return if we
|
|
* can't get a hold of the lock right now.
|
|
*/
|
|
- if (!POOL_TRYLOCK(pool))
|
|
+ if (!POOL_TRYLOCK(pool)) {
|
|
+ kprintf("POOL_TRYLOCK %s failed", pool->lock.descr);
|
|
return -1;
|
|
+ }
|
|
} else {
|
|
POOL_LOCK(pool);
|
|
}
|
|
diff --git a/sys/kern/subr_prf.c b/sys/kern/subr_prf.c
|
|
index f1a5570..273bd07 100644
|
|
--- a/sys/kern/subr_prf.c
|
|
+++ b/sys/kern/subr_prf.c
|
|
@@ -103,7 +103,7 @@ static void snprintf_func (int ch, void *arg);
|
|
|
|
static int consintr = 1; /* Ok to handle console interrupts? */
|
|
static int msgbufmapped; /* Set when safe to use msgbuf */
|
|
-static struct spinlock cons_spin = SPINLOCK_INITIALIZER(cons_spin);
|
|
+static struct spinlock cons_spin = SPINLOCK_INITIALIZER("cons_spin", cons_spin);
|
|
static thread_t constty_td = NULL;
|
|
|
|
int msgbuftrigger;
|
|
@@ -892,7 +892,7 @@ done:
|
|
void
|
|
kvcreinitspin(void)
|
|
{
|
|
- spin_init(&cons_spin);
|
|
+ spin_init(&cons_spin, "kvcre");
|
|
atomic_clear_long(&mycpu->gd_flags, GDF_KPRINTF);
|
|
}
|
|
|
|
diff --git a/sys/kern/subr_taskqueue.c b/sys/kern/subr_taskqueue.c
|
|
index 31e60e3..2b99148 100644
|
|
--- a/sys/kern/subr_taskqueue.c
|
|
+++ b/sys/kern/subr_taskqueue.c
|
|
@@ -84,7 +84,7 @@ static void taskqueue_run(struct taskqueue *queue, int lock_held);
|
|
static __inline void
|
|
TQ_LOCK_INIT(struct taskqueue *tq)
|
|
{
|
|
- spin_init(&tq->tq_lock);
|
|
+ spin_init(&tq->tq_lock, "tqlock");
|
|
}
|
|
|
|
static __inline void
|
|
diff --git a/sys/kern/uipc_mbuf.c b/sys/kern/uipc_mbuf.c
|
|
index 18ce8bd..2165ccc 100644
|
|
--- a/sys/kern/uipc_mbuf.c
|
|
+++ b/sys/kern/uipc_mbuf.c
|
|
@@ -134,7 +134,7 @@ mbtrack_cmp(struct mbtrack *mb1, struct mbtrack *mb2)
|
|
RB_GENERATE2(mbuf_rb_tree, mbtrack, rb_node, mbtrack_cmp, struct mbuf *, m);
|
|
|
|
struct mbuf_rb_tree mbuf_track_root;
|
|
-static struct spinlock mbuf_track_spin = SPINLOCK_INITIALIZER(mbuf_track_spin);
|
|
+static struct spinlock mbuf_track_spin = SPINLOCK_INITIALIZER("mbuf_track_spin", mbuf_track_spin);
|
|
|
|
static void
|
|
mbuftrack(struct mbuf *m)
|
|
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
|
|
index e277295..3e56b35 100644
|
|
--- a/sys/kern/uipc_socket.c
|
|
+++ b/sys/kern/uipc_socket.c
|
|
@@ -180,7 +180,7 @@ soalloc(int waitok, struct protosw *pr)
|
|
TAILQ_INIT(&so->so_snd.ssb_kq.ki_mlist);
|
|
lwkt_token_init(&so->so_rcv.ssb_token, "rcvtok");
|
|
lwkt_token_init(&so->so_snd.ssb_token, "sndtok");
|
|
- spin_init(&so->so_rcvd_spin);
|
|
+ spin_init(&so->so_rcvd_spin, "soalloc");
|
|
netmsg_init(&so->so_rcvd_msg.base, so, &netisr_adone_rport,
|
|
MSGF_DROPABLE | MSGF_PRIORITY,
|
|
so->so_proto->pr_usrreqs->pru_rcvd);
|
|
diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c
|
|
index 1129791..404cec8 100644
|
|
--- a/sys/kern/uipc_usrreq.c
|
|
+++ b/sys/kern/uipc_usrreq.c
|
|
@@ -83,7 +83,7 @@ static unp_defdiscard_t unp_defdiscard_base;
|
|
*/
|
|
static struct sockaddr sun_noname = { sizeof(sun_noname), AF_LOCAL };
|
|
static ino_t unp_ino = 1; /* prototype for fake inode numbers */
|
|
-static struct spinlock unp_ino_spin = SPINLOCK_INITIALIZER(&unp_ino_spin);
|
|
+static struct spinlock unp_ino_spin = SPINLOCK_INITIALIZER("unp_ino_spin", &unp_ino_spin);
|
|
|
|
static int unp_attach (struct socket *, struct pru_attach_info *);
|
|
static void unp_detach (struct unpcb *);
|
|
@@ -787,7 +787,7 @@ static u_long unpdg_sendspace = 2*1024; /* really max datagram size */
|
|
static u_long unpdg_recvspace = 4*1024;
|
|
|
|
static int unp_rights; /* file descriptors in flight */
|
|
-static struct spinlock unp_spin = SPINLOCK_INITIALIZER(&unp_spin);
|
|
+static struct spinlock unp_spin = SPINLOCK_INITIALIZER("unp_spin", &unp_spin);
|
|
|
|
SYSCTL_DECL(_net_local_seqpacket);
|
|
SYSCTL_DECL(_net_local_stream);
|
|
@@ -1413,7 +1413,7 @@ unp_init(void)
|
|
{
|
|
LIST_INIT(&unp_dhead);
|
|
LIST_INIT(&unp_shead);
|
|
- spin_init(&unp_spin);
|
|
+ spin_init(&unp_spin, "unpinit");
|
|
}
|
|
|
|
static int
|
|
diff --git a/sys/kern/usched_bsd4.c b/sys/kern/usched_bsd4.c
|
|
index 5856e42..b63574d 100644
|
|
--- a/sys/kern/usched_bsd4.c
|
|
+++ b/sys/kern/usched_bsd4.c
|
|
@@ -298,7 +298,7 @@ bsd4_rqinit(void *dummy)
|
|
{
|
|
int i;
|
|
|
|
- spin_init(&bsd4_spin);
|
|
+ spin_init(&bsd4_spin, "bsd4rq");
|
|
for (i = 0; i < NQS; i++) {
|
|
TAILQ_INIT(&bsd4_queues[i]);
|
|
TAILQ_INIT(&bsd4_rtqueues[i]);
|
|
diff --git a/sys/kern/usched_dfly.c b/sys/kern/usched_dfly.c
|
|
index 2b03f56..8386a2a 100644
|
|
--- a/sys/kern/usched_dfly.c
|
|
+++ b/sys/kern/usched_dfly.c
|
|
@@ -816,6 +816,7 @@ dfly_schedulerclock(struct lwp *lp, sysclock_t period, sysclock_t cpstamp)
|
|
if (nlp == NULL)
|
|
spin_unlock(&dd->spin);
|
|
} else {
|
|
+ kprintf("choose worst queue rdd spin_trylock %s failed\n",
|
|
spin_unlock(&dd->spin);
|
|
nlp = NULL;
|
|
}
|
|
@@ -2071,9 +2072,15 @@ dfly_helper_thread(void *dummy)
|
|
* 4 cores).
|
|
*/
|
|
rdd = dfly_choose_worst_queue(dd);
|
|
- if (rdd && spin_trylock(&rdd->spin)) {
|
|
+ if (rdd) {
|
|
+ if (spin_trylock(&rdd->spin)) {
|
|
nlp = dfly_chooseproc_locked(rdd, dd, NULL, 1);
|
|
spin_unlock(&rdd->spin);
|
|
+ } else {
|
|
+ kprintf("choose worst queue rdd spin_trylock %s failed\n",
|
|
+ rdd->spin.descr);
|
|
+ nlp = NULL;
|
|
+ }
|
|
} else {
|
|
nlp = NULL;
|
|
}
|
|
@@ -2160,7 +2167,7 @@ usched_dfly_cpu_init(void)
|
|
if (CPUMASK_TESTMASK(mask, smp_active_mask) == 0)
|
|
continue;
|
|
|
|
- spin_init(&dd->spin);
|
|
+ spin_init(&dd->spin, "uschedcpuinit");
|
|
dd->cpunode = get_cpu_node_by_cpuid(i);
|
|
dd->cpuid = i;
|
|
CPUMASK_ASSBIT(dd->cpumask, i);
|
|
diff --git a/sys/kern/usched_dummy.c b/sys/kern/usched_dummy.c
|
|
index e747c8f..cb40224 100644
|
|
--- a/sys/kern/usched_dummy.c
|
|
+++ b/sys/kern/usched_dummy.c
|
|
@@ -120,7 +120,7 @@ static void
|
|
dummyinit(void *dummy)
|
|
{
|
|
TAILQ_INIT(&dummy_runq);
|
|
- spin_init(&dummy_spin);
|
|
+ spin_init(&dummy_spin, "uscheddummy");
|
|
ATOMIC_CPUMASK_NANDBIT(dummy_curprocmask, 0);
|
|
}
|
|
SYSINIT(runqueue, SI_BOOT2_USCHED, SI_ORDER_FIRST, dummyinit, NULL)
|
|
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
|
|
index cb0f6f9..45ef3db 100644
|
|
--- a/sys/kern/vfs_bio.c
|
|
+++ b/sys/kern/vfs_bio.c
|
|
@@ -635,7 +635,7 @@ bufinit(void *dummy __unused)
|
|
/* next, make a null set of free lists */
|
|
for (i = 0; i < ncpus; ++i) {
|
|
pcpu = &bufpcpu[i];
|
|
- spin_init(&pcpu->spin);
|
|
+ spin_init(&pcpu->spin, "bufinit");
|
|
for (j = 0; j < BUFFER_QUEUES; j++)
|
|
TAILQ_INIT(&pcpu->bufqueues[j]);
|
|
}
|
|
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c
|
|
index bc4c00b..bb5fa7f 100644
|
|
--- a/sys/kern/vfs_cache.c
|
|
+++ b/sys/kern/vfs_cache.c
|
|
@@ -3627,16 +3627,16 @@ nchinit(void)
|
|
gd->gd_nchstats = &nchstats[i];
|
|
}
|
|
TAILQ_INIT(&ncneglist);
|
|
- spin_init(&ncspin);
|
|
+ spin_init(&ncspin, "nchinit");
|
|
nchashtbl = hashinit_ext(desiredvnodes / 2,
|
|
sizeof(struct nchash_head),
|
|
M_VFSCACHE, &nchash);
|
|
for (i = 0; i <= (int)nchash; ++i) {
|
|
LIST_INIT(&nchashtbl[i].list);
|
|
- spin_init(&nchashtbl[i].spin);
|
|
+ spin_init(&nchashtbl[i].spin, "nchinit_hash");
|
|
}
|
|
for (i = 0; i < NCMOUNT_NUMCACHE; ++i)
|
|
- spin_init(&ncmount_cache[i].spin);
|
|
+ spin_init(&ncmount_cache[i].spin, "nchinit_cache");
|
|
nclockwarn = 5 * hz;
|
|
}
|
|
|
|
diff --git a/sys/kern/vfs_lock.c b/sys/kern/vfs_lock.c
|
|
index 95f1e05..cc33d6c 100644
|
|
--- a/sys/kern/vfs_lock.c
|
|
+++ b/sys/kern/vfs_lock.c
|
|
@@ -86,7 +86,7 @@ TAILQ_HEAD(freelst, vnode);
|
|
static struct freelst vnode_active_list;
|
|
static struct freelst vnode_inactive_list;
|
|
static struct vnode vnode_active_rover;
|
|
-static struct spinlock vfs_spin = SPINLOCK_INITIALIZER(vfs_spin);
|
|
+static struct spinlock vfs_spin = SPINLOCK_INITIALIZER("vfs_spin", vfs_spin);
|
|
|
|
int activevnodes = 0;
|
|
SYSCTL_INT(_debug, OID_AUTO, activevnodes, CTLFLAG_RD,
|
|
@@ -115,7 +115,7 @@ vfs_lock_init(void)
|
|
TAILQ_INIT(&vnode_inactive_list);
|
|
TAILQ_INIT(&vnode_active_list);
|
|
TAILQ_INSERT_TAIL(&vnode_active_list, &vnode_active_rover, v_list);
|
|
- spin_init(&vfs_spin);
|
|
+ spin_init(&vfs_spin, "vfslock");
|
|
kmalloc_raise_limit(M_VNODE, 0); /* unlimited */
|
|
}
|
|
|
|
@@ -875,7 +875,7 @@ allocvnode(int lktimeout, int lkflags)
|
|
RB_INIT(&vp->v_rbclean_tree);
|
|
RB_INIT(&vp->v_rbdirty_tree);
|
|
RB_INIT(&vp->v_rbhash_tree);
|
|
- spin_init(&vp->v_spin);
|
|
+ spin_init(&vp->v_spin, "allocvnode");
|
|
|
|
lockmgr(&vp->v_lock, LK_EXCLUSIVE);
|
|
atomic_add_int(&numvnodes, 1);
|
|
diff --git a/sys/kern/vfs_quota.c b/sys/kern/vfs_quota.c
|
|
index 1467944..a5fadbe 100644
|
|
--- a/sys/kern/vfs_quota.c
|
|
+++ b/sys/kern/vfs_quota.c
|
|
@@ -125,7 +125,7 @@ vq_init(struct mount *mp)
|
|
/* initialize the rb trees */
|
|
RB_INIT(&mp->mnt_acct.ac_uroot);
|
|
RB_INIT(&mp->mnt_acct.ac_groot);
|
|
- spin_init(&mp->mnt_acct.ac_spin);
|
|
+ spin_init(&mp->mnt_acct.ac_spin, "vqinit");
|
|
|
|
mp->mnt_acct.ac_bytes = 0;
|
|
|
|
diff --git a/sys/net/netmap/netmap_mbq.c b/sys/net/netmap/netmap_mbq.c
|
|
index 62abe4d..88de31d 100644
|
|
--- a/sys/net/netmap/netmap_mbq.c
|
|
+++ b/sys/net/netmap/netmap_mbq.c
|
|
@@ -40,7 +40,7 @@ static inline void __mbq_init(struct mbq *q)
|
|
|
|
void mbq_safe_init(struct mbq *q)
|
|
{
|
|
- spin_init(&q->lock);
|
|
+ spin_init(&q->lock, "mbq");
|
|
__mbq_init(q);
|
|
}
|
|
|
|
diff --git a/sys/net/pf/pf.c b/sys/net/pf/pf.c
|
|
index b49cf47..8dc9f73 100644
|
|
--- a/sys/net/pf/pf.c
|
|
+++ b/sys/net/pf/pf.c
|
|
@@ -117,7 +117,7 @@ extern int debug_pfugidhack;
|
|
struct lwkt_token pf_token = LWKT_TOKEN_INITIALIZER(pf_token);
|
|
struct lwkt_token pf_gtoken = LWKT_TOKEN_INITIALIZER(pf_gtoken);
|
|
#if __SIZEOF_LONG__ != 8
|
|
-struct spinlock pf_spin = SPINLOCK_INITIALIZER(pf_spin);
|
|
+struct spinlock pf_spin = SPINLOCK_INITIALIZER("pf_spin", pf_spin);
|
|
#endif
|
|
|
|
#define DPFPRINTF(n, x) if (pf_status.debug >= (n)) kprintf x
|
|
diff --git a/sys/netproto/smb/smb_subr.h b/sys/netproto/smb/smb_subr.h
|
|
index 5f0cbc7..fdd45d1 100644
|
|
--- a/sys/netproto/smb/smb_subr.h
|
|
+++ b/sys/netproto/smb/smb_subr.h
|
|
@@ -82,7 +82,7 @@ void m_dumpm(struct mbuf *m);
|
|
|
|
#define lockdestroy(lock)
|
|
#define smb_slock spinlock
|
|
-#define smb_sl_init(sl, desc) spin_init(sl)
|
|
+#define smb_sl_init(sl, desc) spin_init(sl, desc)
|
|
#define smb_sl_destroy(sl)
|
|
#define smb_sl_lock(sl) spin_lock(sl)
|
|
#define smb_sl_unlock(sl) spin_unlock(sl)
|
|
diff --git a/sys/opencrypto/cryptosoft.c b/sys/opencrypto/cryptosoft.c
|
|
index 23623a7..85a2f2b 100644
|
|
--- a/sys/opencrypto/cryptosoft.c
|
|
+++ b/sys/opencrypto/cryptosoft.c
|
|
@@ -58,7 +58,7 @@ static struct swcr_data **swcr_sessions = NULL;
|
|
static u_int32_t swcr_sesnum;
|
|
static u_int32_t swcr_minsesnum = 1;
|
|
|
|
-static struct spinlock swcr_spin = SPINLOCK_INITIALIZER(swcr_spin);
|
|
+static struct spinlock swcr_spin = SPINLOCK_INITIALIZER("swcr_spin", swcr_spin);
|
|
|
|
u_int8_t hmac_ipad_buffer[HMAC_MAX_BLOCK_LEN];
|
|
u_int8_t hmac_opad_buffer[HMAC_MAX_BLOCK_LEN];
|
|
diff --git a/sys/platform/pc32/i386/busdma_machdep.c b/sys/platform/pc32/i386/busdma_machdep.c
|
|
index cb50f11..dcc6595 100644
|
|
--- a/sys/platform/pc32/i386/busdma_machdep.c
|
|
+++ b/sys/platform/pc32/i386/busdma_machdep.c
|
|
@@ -154,7 +154,7 @@ struct bus_dmamap {
|
|
static STAILQ_HEAD(, bus_dmamap) bounce_map_callbacklist =
|
|
STAILQ_HEAD_INITIALIZER(bounce_map_callbacklist);
|
|
static struct spinlock bounce_map_list_spin =
|
|
- SPINLOCK_INITIALIZER(&bounce_map_list_spin);
|
|
+ SPINLOCK_INITIALIZER("bounce_map_list_spin", &bounce_map_list_spin);
|
|
|
|
static struct bus_dmamap nobounce_dmamap;
|
|
|
|
@@ -258,7 +258,7 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
|
|
|
|
newtag = kmalloc(sizeof(*newtag), M_DEVBUF, M_INTWAIT | M_ZERO);
|
|
|
|
- spin_init(&newtag->spin);
|
|
+ spin_init(&newtag->spin, "busdmacreate");
|
|
newtag->parent = parent;
|
|
newtag->alignment = alignment;
|
|
newtag->boundary = boundary;
|
|
@@ -1103,7 +1103,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
|
|
}
|
|
bz = new_bz;
|
|
|
|
- spin_init(&bz->spin);
|
|
+ spin_init(&bz->spin, "allocbouncezone");
|
|
STAILQ_INIT(&bz->bounce_page_list);
|
|
STAILQ_INIT(&bz->bounce_map_waitinglist);
|
|
bz->free_bpages = 0;
|
|
diff --git a/sys/platform/pc32/i386/pmap.c b/sys/platform/pc32/i386/pmap.c
|
|
index bee854a..cad74b2 100644
|
|
--- a/sys/platform/pc32/i386/pmap.c
|
|
+++ b/sys/platform/pc32/i386/pmap.c
|
|
@@ -417,7 +417,7 @@ pmap_bootstrap(vm_paddr_t firstaddr, vm_paddr_t loadaddr)
|
|
kernel_pmap.pm_pteobj = NULL; /* see pmap_init */
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist);
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist_free);
|
|
- spin_init(&kernel_pmap.pm_spin);
|
|
+ spin_init(&kernel_pmap.pm_spin, "pmapbootstrap");
|
|
lwkt_token_init(&kernel_pmap.pm_token, "kpmap_tok");
|
|
nkpt = NKPT;
|
|
|
|
@@ -1301,7 +1301,7 @@ pmap_pinit0(struct pmap *pmap)
|
|
pmap->pm_ptphint = NULL;
|
|
TAILQ_INIT(&pmap->pm_pvlist);
|
|
TAILQ_INIT(&pmap->pm_pvlist_free);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinit0");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
}
|
|
@@ -1360,7 +1360,7 @@ pmap_pinit(struct pmap *pmap)
|
|
pmap->pm_ptphint = NULL;
|
|
TAILQ_INIT(&pmap->pm_pvlist);
|
|
TAILQ_INIT(&pmap->pm_pvlist_free);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinit");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
pmap->pm_stats.resident_count = 1;
|
|
diff --git a/sys/platform/pc64/x86_64/busdma_machdep.c b/sys/platform/pc64/x86_64/busdma_machdep.c
|
|
index 9b7d74d..ae6e9df 100644
|
|
--- a/sys/platform/pc64/x86_64/busdma_machdep.c
|
|
+++ b/sys/platform/pc64/x86_64/busdma_machdep.c
|
|
@@ -154,7 +154,7 @@ struct bus_dmamap {
|
|
static STAILQ_HEAD(, bus_dmamap) bounce_map_callbacklist =
|
|
STAILQ_HEAD_INITIALIZER(bounce_map_callbacklist);
|
|
static struct spinlock bounce_map_list_spin =
|
|
- SPINLOCK_INITIALIZER(&bounce_map_list_spin);
|
|
+ SPINLOCK_INITIALIZER("bounce_map_list_spin", &bounce_map_list_spin);
|
|
|
|
static struct bus_dmamap nobounce_dmamap;
|
|
|
|
@@ -258,7 +258,7 @@ bus_dma_tag_create(bus_dma_tag_t parent, bus_size_t alignment,
|
|
|
|
newtag = kmalloc(sizeof(*newtag), M_DEVBUF, M_INTWAIT | M_ZERO);
|
|
|
|
- spin_init(&newtag->spin);
|
|
+ spin_init(&newtag->spin, "busdmacreate");
|
|
newtag->parent = parent;
|
|
newtag->alignment = alignment;
|
|
newtag->boundary = boundary;
|
|
@@ -1112,7 +1112,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
|
|
}
|
|
bz = new_bz;
|
|
|
|
- spin_init(&bz->spin);
|
|
+ spin_init(&bz->spin, "allocbouncezone");
|
|
STAILQ_INIT(&bz->bounce_page_list);
|
|
STAILQ_INIT(&bz->bounce_map_waitinglist);
|
|
bz->free_bpages = 0;
|
|
diff --git a/sys/platform/pc64/x86_64/pmap.c b/sys/platform/pc64/x86_64/pmap.c
|
|
index 45b3a29..3af4f30 100644
|
|
--- a/sys/platform/pc64/x86_64/pmap.c
|
|
+++ b/sys/platform/pc64/x86_64/pmap.c
|
|
@@ -912,7 +912,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr)
|
|
kernel_pmap.pm_count = 1;
|
|
CPUMASK_ASSALLONES(kernel_pmap.pm_active);
|
|
RB_INIT(&kernel_pmap.pm_pvroot);
|
|
- spin_init(&kernel_pmap.pm_spin);
|
|
+ spin_init(&kernel_pmap.pm_spin, "pmapbootstrap");
|
|
lwkt_token_init(&kernel_pmap.pm_token, "kpmap_tok");
|
|
|
|
/*
|
|
@@ -1626,7 +1626,7 @@ pmap_pinit0(struct pmap *pmap)
|
|
CPUMASK_ASSZERO(pmap->pm_active);
|
|
pmap->pm_pvhint = NULL;
|
|
RB_INIT(&pmap->pm_pvroot);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinit0");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
pmap_pinit_defaults(pmap);
|
|
@@ -1656,7 +1656,7 @@ pmap_pinit_simple(struct pmap *pmap)
|
|
if (pmap->pm_pmlpv == NULL) {
|
|
RB_INIT(&pmap->pm_pvroot);
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinitsimple");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
}
|
|
}
|
|
diff --git a/sys/platform/vkernel/platform/busdma_machdep.c b/sys/platform/vkernel/platform/busdma_machdep.c
|
|
index d39594b..8212bfc 100644
|
|
--- a/sys/platform/vkernel/platform/busdma_machdep.c
|
|
+++ b/sys/platform/vkernel/platform/busdma_machdep.c
|
|
@@ -1006,7 +1006,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
|
|
}
|
|
bz = new_bz;
|
|
|
|
- spin_init(&bz->spin);
|
|
+ spin_init(&bz->spin, "allocbouncezone");
|
|
STAILQ_INIT(&bz->bounce_page_list);
|
|
STAILQ_INIT(&bz->bounce_map_waitinglist);
|
|
bz->free_bpages = 0;
|
|
diff --git a/sys/platform/vkernel/platform/pmap.c b/sys/platform/vkernel/platform/pmap.c
|
|
index cc85121..5dfa8cc 100644
|
|
--- a/sys/platform/vkernel/platform/pmap.c
|
|
+++ b/sys/platform/vkernel/platform/pmap.c
|
|
@@ -182,7 +182,7 @@ pmap_bootstrap(void)
|
|
kernel_pmap.pm_pteobj = NULL; /* see pmap_init */
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist);
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist_free);
|
|
- spin_init(&kernel_pmap.pm_spin);
|
|
+ spin_init(&kernel_pmap.pm_spin, "pmapbootstrap");
|
|
lwkt_token_init(&kernel_pmap.pm_token, "kpmap_tok");
|
|
i386_protection_init();
|
|
}
|
|
@@ -253,7 +253,7 @@ pmap_pinit(struct pmap *pmap)
|
|
pmap->pm_cpucachemask = 0;
|
|
TAILQ_INIT(&pmap->pm_pvlist);
|
|
TAILQ_INIT(&pmap->pm_pvlist_free);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinit");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
pmap->pm_stats.resident_count = 1;
|
|
diff --git a/sys/platform/vkernel64/platform/busdma_machdep.c b/sys/platform/vkernel64/platform/busdma_machdep.c
|
|
index 12a568e..d27be7c 100644
|
|
--- a/sys/platform/vkernel64/platform/busdma_machdep.c
|
|
+++ b/sys/platform/vkernel64/platform/busdma_machdep.c
|
|
@@ -1002,7 +1002,7 @@ alloc_bounce_zone(bus_dma_tag_t dmat)
|
|
}
|
|
bz = new_bz;
|
|
|
|
- spin_init(&bz->spin);
|
|
+ spin_init(&bz->spin, "allocbouncezone");
|
|
STAILQ_INIT(&bz->bounce_page_list);
|
|
STAILQ_INIT(&bz->bounce_map_waitinglist);
|
|
bz->free_bpages = 0;
|
|
diff --git a/sys/platform/vkernel64/platform/pmap.c b/sys/platform/vkernel64/platform/pmap.c
|
|
index 3b9493f..5e0c929 100644
|
|
--- a/sys/platform/vkernel64/platform/pmap.c
|
|
+++ b/sys/platform/vkernel64/platform/pmap.c
|
|
@@ -569,7 +569,7 @@ pmap_bootstrap(vm_paddr_t *firstaddr, int64_t ptov_offset)
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist);
|
|
TAILQ_INIT(&kernel_pmap.pm_pvlist_free);
|
|
lwkt_token_init(&kernel_pmap.pm_token, "kpmap_tok");
|
|
- spin_init(&kernel_pmap.pm_spin);
|
|
+ spin_init(&kernel_pmap.pm_spin, "pmapbootstrap");
|
|
|
|
/*
|
|
* Reserve some special page table entries/VA space for temporary
|
|
@@ -1180,7 +1180,7 @@ pmap_pinit(struct pmap *pmap)
|
|
pmap->pm_ptphint = NULL;
|
|
TAILQ_INIT(&pmap->pm_pvlist);
|
|
TAILQ_INIT(&pmap->pm_pvlist_free);
|
|
- spin_init(&pmap->pm_spin);
|
|
+ spin_init(&pmap->pm_spin, "pmapinit");
|
|
lwkt_token_init(&pmap->pm_token, "pmap_tok");
|
|
bzero(&pmap->pm_stats, sizeof pmap->pm_stats);
|
|
pmap->pm_stats.resident_count = 1;
|
|
diff --git a/sys/sys/spinlock.h b/sys/sys/spinlock.h
|
|
index 2da0267..7cf0262 100644
|
|
--- a/sys/sys/spinlock.h
|
|
+++ b/sys/sys/spinlock.h
|
|
@@ -48,11 +48,12 @@
|
|
* cache entry.
|
|
*/
|
|
struct spinlock {
|
|
+ const char *descr;
|
|
int counta;
|
|
int countb;
|
|
};
|
|
|
|
-#define SPINLOCK_INITIALIZER(head) { 0, 0 }
|
|
+#define SPINLOCK_INITIALIZER(d, head) { #d, 0, 0 }
|
|
|
|
#define SPINLOCK_SHARED 0x80000000
|
|
#define SPINLOCK_EXCLWAIT 0x00100000 /* high bits counter */
|
|
diff --git a/sys/sys/spinlock2.h b/sys/sys/spinlock2.h
|
|
index e08da39..dc2efe3 100644
|
|
--- a/sys/sys/spinlock2.h
|
|
+++ b/sys/sys/spinlock2.h
|
|
@@ -80,6 +80,7 @@ spin_trylock(struct spinlock *spin)
|
|
if (atomic_cmpset_int(&spin->counta, 0, 1) == 0)
|
|
return (spin_trylock_contested(spin));
|
|
#ifdef DEBUG_LOCKS
|
|
+ kprintf("spin_trylock %s\n", spin->descr);
|
|
int i;
|
|
for (i = 0; i < SPINLOCK_DEBUG_ARRAY_SIZE; i++) {
|
|
if (gd->gd_curthread->td_spinlock_stack_id[i] == 0) {
|
|
@@ -100,7 +101,11 @@ spin_trylock(struct spinlock *spin)
|
|
static __inline int
|
|
spin_held(struct spinlock *spin)
|
|
{
|
|
- return(spin->counta != 0);
|
|
+ int held = (spin->counta != 0);
|
|
+#ifdef DEBUG_LOCKS
|
|
+ kprintf("spinlock %s held : %d\n", spin->descr, held);
|
|
+#endif
|
|
+ return(held);
|
|
}
|
|
|
|
/*
|
|
@@ -116,6 +121,7 @@ _spin_lock_quick(globaldata_t gd, struct spinlock *spin, const char *ident)
|
|
if (spin->counta != 1)
|
|
_spin_lock_contested(spin, ident);
|
|
#ifdef DEBUG_LOCKS
|
|
+ kprintf("_spin_lock_quick %s\n", spin->descr);
|
|
int i;
|
|
for (i = 0; i < SPINLOCK_DEBUG_ARRAY_SIZE; i++) {
|
|
if (gd->gd_curthread->td_spinlock_stack_id[i] == 0) {
|
|
@@ -144,6 +150,7 @@ static __inline void
|
|
spin_unlock_quick(globaldata_t gd, struct spinlock *spin)
|
|
{
|
|
#ifdef DEBUG_LOCKS
|
|
+ kprintf("spin_unlock_quick %s\n", spin->descr);
|
|
int i;
|
|
for (i = 0; i < SPINLOCK_DEBUG_ARRAY_SIZE; i++) {
|
|
if ((gd->gd_curthread->td_spinlock_stack_id[i] == 1) &&
|
|
@@ -192,6 +199,7 @@ _spin_lock_shared_quick(globaldata_t gd, struct spinlock *spin,
|
|
if (atomic_cmpset_int(&spin->counta, 0, SPINLOCK_SHARED | 1) == 0)
|
|
_spin_lock_shared_contested(spin, ident);
|
|
#ifdef DEBUG_LOCKS
|
|
+ kprintf("_spin_lock_shared_quick %s\n", spin->descr);
|
|
int i;
|
|
for (i = 0; i < SPINLOCK_DEBUG_ARRAY_SIZE; i++) {
|
|
if (gd->gd_curthread->td_spinlock_stack_id[i] == 0) {
|
|
@@ -209,6 +217,7 @@ static __inline void
|
|
spin_unlock_shared_quick(globaldata_t gd, struct spinlock *spin)
|
|
{
|
|
#ifdef DEBUG_LOCKS
|
|
+ kprintf("spin_unlock_shared_quick %s\n", spin->descr);
|
|
int i;
|
|
for (i = 0; i < SPINLOCK_DEBUG_ARRAY_SIZE; i++) {
|
|
if ((gd->gd_curthread->td_spinlock_stack_id[i] == 1) &&
|
|
@@ -263,8 +272,9 @@ spin_pool_unlock(void *chan)
|
|
}
|
|
|
|
static __inline void
|
|
-spin_init(struct spinlock *spin)
|
|
+spin_init(struct spinlock *spin, const char *descr)
|
|
{
|
|
+ spin->descr = descr;
|
|
spin->counta = 0;
|
|
spin->countb = 0;
|
|
}
|
|
diff --git a/sys/sys/tree.h b/sys/sys/tree.h
|
|
index 5a9bb77..17544a4 100644
|
|
--- a/sys/sys/tree.h
|
|
+++ b/sys/sys/tree.h
|
|
@@ -313,7 +313,7 @@ struct name { \
|
|
}
|
|
|
|
#define RB_INITIALIZER(root) \
|
|
- { NULL, NULL, SPINLOCK_INITIALIZER(root.spin) }
|
|
+ { NULL, NULL, SPINLOCK_INITIALIZER("root.spin", root.spin) }
|
|
|
|
#define RB_INIT(root) do { \
|
|
(root)->rbh_root = NULL; \
|
|
diff --git a/sys/vfs/hammer2/hammer2_ccms.c b/sys/vfs/hammer2/hammer2_ccms.c
|
|
index ccd861c..d4f8101 100644
|
|
--- a/sys/vfs/hammer2/hammer2_ccms.c
|
|
+++ b/sys/vfs/hammer2/hammer2_ccms.c
|
|
@@ -74,7 +74,7 @@ void
|
|
ccms_cst_init(ccms_cst_t *cst, void *handle)
|
|
{
|
|
bzero(cst, sizeof(*cst));
|
|
- spin_init(&cst->spin);
|
|
+ spin_init(&cst->spin, "ccmscst");
|
|
cst->handle = handle;
|
|
}
|
|
|
|
diff --git a/sys/vfs/hammer2/hammer2_vfsops.c b/sys/vfs/hammer2/hammer2_vfsops.c
|
|
index 2eeb318..ec998f4 100644
|
|
--- a/sys/vfs/hammer2/hammer2_vfsops.c
|
|
+++ b/sys/vfs/hammer2/hammer2_vfsops.c
|
|
@@ -334,10 +334,10 @@ hammer2_pfsalloc(const hammer2_inode_data_t *ipdata, hammer2_tid_t alloc_tid)
|
|
kmalloc_create(&pmp->minode, "HAMMER2-inodes");
|
|
kmalloc_create(&pmp->mmsg, "HAMMER2-pfsmsg");
|
|
lockinit(&pmp->lock, "pfslk", 0, 0);
|
|
- spin_init(&pmp->inum_spin);
|
|
+ spin_init(&pmp->inum_spin, "hm2pfsalloc_inum");
|
|
RB_INIT(&pmp->inum_tree);
|
|
TAILQ_INIT(&pmp->unlinkq);
|
|
- spin_init(&pmp->list_spin);
|
|
+ spin_init(&pmp->list_spin, "hm2pfsalloc_list");
|
|
|
|
pmp->alloc_tid = alloc_tid + 1; /* our first media transaction id */
|
|
pmp->flush_tid = pmp->alloc_tid;
|
|
@@ -528,8 +528,8 @@ hammer2_vfs_mount(struct mount *mp, char *path, caddr_t data,
|
|
kmalloc_create(&hmp->mchain, "HAMMER2-chains");
|
|
TAILQ_INSERT_TAIL(&hammer2_mntlist, hmp, mntentry);
|
|
RB_INIT(&hmp->iotree);
|
|
- spin_init(&hmp->io_spin);
|
|
- spin_init(&hmp->list_spin);
|
|
+ spin_init(&hmp->io_spin, "hm2mount_io");
|
|
+ spin_init(&hmp->list_spin, "hm2mount_list");
|
|
TAILQ_INIT(&hmp->flushq);
|
|
|
|
lockinit(&hmp->vollk, "h2vol", 0, 0);
|
|
diff --git a/sys/vfs/ntfs/ntfs_subr.c b/sys/vfs/ntfs/ntfs_subr.c
|
|
index 82af7be..d46015c 100644
|
|
--- a/sys/vfs/ntfs/ntfs_subr.c
|
|
+++ b/sys/vfs/ntfs/ntfs_subr.c
|
|
@@ -388,7 +388,7 @@ ntfs_ntlookup(struct ntfsmount *ntmp, ino_t ino, struct ntnode **ipp)
|
|
|
|
/* init lock and lock the newborn ntnode */
|
|
lockinit(&ip->i_lock, "ntnode", 0, LK_EXCLUSIVE);
|
|
- spin_init(&ip->i_interlock);
|
|
+ spin_init(&ip->i_interlock, "ntfsntlookup");
|
|
ntfs_ntget(ip);
|
|
|
|
ntfs_nthashins(ip);
|
|
diff --git a/sys/vfs/ufs/ffs_softdep.c b/sys/vfs/ufs/ffs_softdep.c
|
|
index 7be0069..d574761 100644
|
|
--- a/sys/vfs/ufs/ffs_softdep.c
|
|
+++ b/sys/vfs/ufs/ffs_softdep.c
|
|
@@ -275,7 +275,7 @@ sema_init(struct sema *semap, char *name, int timo)
|
|
semap->value = 0;
|
|
semap->name = name;
|
|
semap->timo = timo;
|
|
- spin_init(&semap->spin);
|
|
+ spin_init(&semap->spin, "ufssema");
|
|
}
|
|
|
|
/*
|
|
diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c
|
|
index a96cde4..98fb724 100644
|
|
--- a/sys/vm/swap_pager.c
|
|
+++ b/sys/vm/swap_pager.c
|
|
@@ -168,7 +168,7 @@ static int swap_async_max = 4; /* maximum in-progress async I/O's */
|
|
static int swap_burst_read = 0; /* allow burst reading */
|
|
static swblk_t swapiterator; /* linearize allocations */
|
|
|
|
-static struct spinlock swapbp_spin = SPINLOCK_INITIALIZER(&swapbp_spin);
|
|
+static struct spinlock swapbp_spin = SPINLOCK_INITIALIZER("swapbp_spin", &swapbp_spin);
|
|
|
|
/* from vm_swap.c */
|
|
extern struct vnode *swapdev_vp;
|
|
diff --git a/sys/vm/vm_page.c b/sys/vm/vm_page.c
|
|
index da6ea3d..b1e1246 100644
|
|
--- a/sys/vm/vm_page.c
|
|
+++ b/sys/vm/vm_page.c
|
|
@@ -116,7 +116,7 @@ static volatile int vm_pages_waiting;
|
|
|
|
static struct alist vm_contig_alist;
|
|
static struct almeta vm_contig_ameta[ALIST_RECORDS_65536];
|
|
-static struct spinlock vm_contig_spin = SPINLOCK_INITIALIZER(&vm_contig_spin);
|
|
+static struct spinlock vm_contig_spin = SPINLOCK_INITIALIZER("vm_contig_spin", &vm_contig_spin);
|
|
|
|
static u_long vm_dma_reserved = 0;
|
|
TUNABLE_ULONG("vm.dma_reserved", &vm_dma_reserved);
|
|
@@ -150,7 +150,7 @@ vm_page_queue_init(void)
|
|
|
|
for (i = 0; i < PQ_COUNT; i++) {
|
|
TAILQ_INIT(&vm_page_queues[i].pl);
|
|
- spin_init(&vm_page_queues[i].spin);
|
|
+ spin_init(&vm_page_queues[i].spin, "vm_page_queue_init");
|
|
}
|
|
|
|
for (i = 0; i < VMACTION_HSIZE; i++)
|
|
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c
|
|
index 003165d..4579d45 100644
|
|
--- a/sys/vm/vm_pager.c
|
|
+++ b/sys/vm/vm_pager.c
|
|
@@ -184,7 +184,7 @@ static struct buf *swbuf_raw;
|
|
static vm_offset_t swapbkva; /* swap buffers kva */
|
|
static struct swqueue bswlist_raw; /* without kva */
|
|
static struct swqueue bswlist_kva; /* with kva */
|
|
-static struct spinlock bswspin = SPINLOCK_INITIALIZER(&bswspin);
|
|
+static struct spinlock bswspin = SPINLOCK_INITIALIZER("bswspin", &bswspin);
|
|
static int pbuf_raw_count;
|
|
static int pbuf_kva_count;
|
|
|
|
diff --git a/sys/vm/vm_zone.c b/sys/vm/vm_zone.c
|
|
index 4e61113..caac30e 100644
|
|
--- a/sys/vm/vm_zone.c
|
|
+++ b/sys/vm/vm_zone.c
|
|
@@ -237,7 +237,7 @@ zinitna(vm_zone_t z, vm_object_t obj, char *name, int size,
|
|
*/
|
|
if ((z->zflags & ZONE_BOOT) == 0) {
|
|
z->zsize = (size + ZONE_ROUNDING - 1) & ~(ZONE_ROUNDING - 1);
|
|
- spin_init(&z->zlock);
|
|
+ spin_init(&z->zlock, "zinitna");
|
|
z->zfreecnt = 0;
|
|
z->ztotal = 0;
|
|
z->zmax = 0;
|
|
@@ -371,7 +371,7 @@ zbootinit(vm_zone_t z, char *name, int size, void *item, int nitems)
|
|
z->zpagecount = 0;
|
|
z->zalloc = 0;
|
|
z->znalloc = 0;
|
|
- spin_init(&z->zlock);
|
|
+ spin_init(&z->zlock, "zbootinit");
|
|
|
|
bzero(item, (size_t)nitems * z->zsize);
|
|
z->zitems = NULL;
|