1/*- 2 * Copyright (c) 1998 Berkeley Software Design, Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 68 unchanged lines hidden (view full) --- 77 * you have two threads T1 and T2 and a sleepable lock X. Suppose that T1 78 * acquires X and blocks on Giant. Then suppose that T2 acquires Giant and 79 * blocks on X. When T2 blocks on X, T2 will release Giant allowing T1 to 80 * execute. Thus, acquiring Giant both before and after a sleepable lock 81 * will not result in a lock order reversal. 82 */ 83 84#include <sys/cdefs.h> |
85__FBSDID("$FreeBSD: head/sys/kern/subr_witness.c 146982 2005-06-04 23:24:50Z marius $"); |
86 87#include "opt_ddb.h" 88#include "opt_witness.h" 89 90#include <sys/param.h> 91#include <sys/bus.h> 92#include <sys/kdb.h> 93#include <sys/kernel.h> --- 276 unchanged lines hidden (view full) --- 370 { "icu", &lock_class_mtx_spin }, 371#ifdef SMP 372 { "smp rendezvous", &lock_class_mtx_spin }, 373#if defined(__i386__) || defined(__amd64__) 374 { "tlb", &lock_class_mtx_spin }, 375#endif 376#ifdef __sparc64__ 377 { "ipi", &lock_class_mtx_spin }, |
378 { "rtc_mtx", &lock_class_mtx_spin }, |
379#endif 380#endif 381 { "clk", &lock_class_mtx_spin }, 382 { "mutex profiling lock", &lock_class_mtx_spin }, 383 { "kse zombie lock", &lock_class_mtx_spin }, 384 { "ALD Queue", &lock_class_mtx_spin }, 385#ifdef __ia64__ 386 { "MCA spin lock", &lock_class_mtx_spin }, --- 1604 unchanged lines hidden --- |