summaryrefslogtreecommitdiffstats
path: root/lib/libkvm/kvm_proc.c
diff options
context:
space:
mode:
authorbmilekic <bmilekic@FreeBSD.org>2004-06-23 21:59:03 +0000
committerbmilekic <bmilekic@FreeBSD.org>2004-06-23 21:59:03 +0000
commit7a6a2d65d41bed56612635fa67dda2494fe86674 (patch)
tree3f5705bfda8933827851f675bfe72339b3622685 /lib/libkvm/kvm_proc.c
parent51304a50f3743922c7059a6d6d1eed79ced8f1c9 (diff)
downloadFreeBSD-src-7a6a2d65d41bed56612635fa67dda2494fe86674.zip
FreeBSD-src-7a6a2d65d41bed56612635fa67dda2494fe86674.tar.gz
Make uma_mtx MTX_RECURSE. Here's why:
The general UMA lock is a recursion-allowed lock because there is a code path where, while we're still configured to use startup_alloc() for backend page allocations, we may end up in uma_reclaim() which calls zone_foreach(zone_drain), which grabs uma_mtx, only to later call into startup_alloc() because while freeing we needed to allocate a bucket. Since startup_alloc() also takes uma_mtx, we need to be able to recurse on it. This exact explanation also added as comment above mtx_init(). Trace showing recursion reported by: Peter Holm <peter-at-holm.cc>
Diffstat (limited to 'lib/libkvm/kvm_proc.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud