Deleted Added
full compact
kern_sx.c (164159) kern_sx.c (164246)
1/*-
2 * Copyright (C) 2001 Jason Evans <jasone@freebsd.org>. 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(s), this list of conditions and the following disclaimer as

--- 20 unchanged lines hidden (view full) ---

29 * Shared/exclusive locks. This implementation assures deterministic lock
30 * granting behavior, so that slocks and xlocks are interleaved.
31 *
32 * Priority propagation will not generally raise the priority of lock holders,
33 * so should not be relied upon in combination with sx locks.
34 */
35
36#include <sys/cdefs.h>
1/*-
2 * Copyright (C) 2001 Jason Evans <jasone@freebsd.org>. 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(s), this list of conditions and the following disclaimer as

--- 20 unchanged lines hidden (view full) ---

29 * Shared/exclusive locks. This implementation assures deterministic lock
30 * granting behavior, so that slocks and xlocks are interleaved.
31 *
32 * Priority propagation will not generally raise the priority of lock holders,
33 * so should not be relied upon in combination with sx locks.
34 */
35
36#include <sys/cdefs.h>
37__FBSDID("$FreeBSD: head/sys/kern/kern_sx.c 164159 2006-11-11 03:18:07Z kmacy $");
37__FBSDID("$FreeBSD: head/sys/kern/kern_sx.c 164246 2006-11-13 05:41:46Z kmacy $");
38
39#include "opt_ddb.h"
40
41#include <sys/param.h>
42#include <sys/systm.h>
43#include <sys/ktr.h>
44#include <sys/linker_set.h>
45#include <sys/condvar.h>

--- 35 unchanged lines hidden (view full) ---

81
82 sx->sx_lock = mtx_pool_find(mtxpool_lockbuilder, sx);
83 sx->sx_cnt = 0;
84 cv_init(&sx->sx_shrd_cv, description);
85 sx->sx_shrd_wcnt = 0;
86 cv_init(&sx->sx_excl_cv, description);
87 sx->sx_excl_wcnt = 0;
88 sx->sx_xholder = NULL;
38
39#include "opt_ddb.h"
40
41#include <sys/param.h>
42#include <sys/systm.h>
43#include <sys/ktr.h>
44#include <sys/linker_set.h>
45#include <sys/condvar.h>

--- 35 unchanged lines hidden (view full) ---

81
82 sx->sx_lock = mtx_pool_find(mtxpool_lockbuilder, sx);
83 sx->sx_cnt = 0;
84 cv_init(&sx->sx_shrd_cv, description);
85 sx->sx_shrd_wcnt = 0;
86 cv_init(&sx->sx_excl_cv, description);
87 sx->sx_excl_wcnt = 0;
88 sx->sx_xholder = NULL;
89 lock_profile_object_init(&sx->sx_object, description);
89 lock_profile_object_init(&sx->sx_object, &lock_class_sx, description);
90 lock_init(&sx->sx_object, &lock_class_sx, description, NULL,
91 LO_WITNESS | LO_RECURSABLE | LO_SLEEPABLE | LO_UPGRADABLE);
92}
93
94void
95sx_destroy(struct sx *sx)
96{
97

--- 374 unchanged lines hidden ---
90 lock_init(&sx->sx_object, &lock_class_sx, description, NULL,
91 LO_WITNESS | LO_RECURSABLE | LO_SLEEPABLE | LO_UPGRADABLE);
92}
93
94void
95sx_destroy(struct sx *sx)
96{
97

--- 374 unchanged lines hidden ---