diff options
author | mjacob <mjacob@FreeBSD.org> | 2002-11-11 11:50:03 +0000 |
---|---|---|
committer | mjacob <mjacob@FreeBSD.org> | 2002-11-11 11:50:03 +0000 |
commit | a58a13572c34a910f967d757419e8808d28d7080 (patch) | |
tree | 6045ed31985d52907a481f015d08501fccf8a3e0 /sys/vm/uma_dbg.c | |
parent | 277111e6aa3154570bb671fbd617e14c32ae901a (diff) | |
download | FreeBSD-src-a58a13572c34a910f967d757419e8808d28d7080.zip FreeBSD-src-a58a13572c34a910f967d757419e8808d28d7080.tar.gz |
atomic_set_8 isn't MI. Instead, follow Jake's suggestions about
ZONE_LOCK.
Diffstat (limited to 'sys/vm/uma_dbg.c')
-rw-r--r-- | sys/vm/uma_dbg.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/sys/vm/uma_dbg.c b/sys/vm/uma_dbg.c index a1009e9..ebdba40 100644 --- a/sys/vm/uma_dbg.c +++ b/sys/vm/uma_dbg.c @@ -199,9 +199,7 @@ uma_dbg_getslab(uma_zone_t zone, void *item) if (zone->uz_flags & UMA_ZFLAG_MALLOC) { slab = vtoslab((vm_offset_t)mem); } else if (zone->uz_flags & UMA_ZFLAG_HASH) { - ZONE_LOCK(zone); slab = hash_sfind(&zone->uz_hash, mem); - ZONE_UNLOCK(zone); } else { mem += zone->uz_pgoff; slab = (uma_slab_t)mem; @@ -230,7 +228,7 @@ uma_dbg_alloc(uma_zone_t zone, uma_slab_t slab, void *item) freei = ((unsigned long)item - (unsigned long)slab->us_data) / zone->uz_rsize; - atomic_set_8(&slab->us_freelist[freei], 255); + slab->us_freelist[freei] = 255; return; } @@ -279,5 +277,5 @@ uma_dbg_free(uma_zone_t zone, uma_slab_t slab, void *item) * Until then the count of valid slabs will make sure we don't * accidentally follow this and assume it's a valid index. */ - atomic_set_8(&slab->us_freelist[freei], 0); + slab->us_freelist[freei] = 0; } |