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 145425 2005-04-22 22:43:31Z jeff $");
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#endif
379#endif
380 { "clk", &lock_class_mtx_spin },
381 { "mutex profiling lock", &lock_class_mtx_spin },
382 { "kse zombie lock", &lock_class_mtx_spin },
383 { "ALD Queue", &lock_class_mtx_spin },
384#ifdef __ia64__
385 { "MCA spin lock", &lock_class_mtx_spin },
--- 1604 unchanged lines hidden ---
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 145425 2005-04-22 22:43:31Z jeff $");
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#endif
379#endif
380 { "clk", &lock_class_mtx_spin },
381 { "mutex profiling lock", &lock_class_mtx_spin },
382 { "kse zombie lock", &lock_class_mtx_spin },
383 { "ALD Queue", &lock_class_mtx_spin },
384#ifdef __ia64__
385 { "MCA spin lock", &lock_class_mtx_spin },
--- 1604 unchanged lines hidden ---