Started looking at making malloc mpsafe. First issue I came across was this brokenish code in uma_core.c:page_alloc():
if (lockstatus(&kernel_map->lock, NULL)) { *pflag = UMA_SLAB_KMEM; p = (void *) kmem_malloc(kmem_map, bytes, wait); } else { *pflag = UMA_SLAB_KMAP; p = (void *) kmem_alloc(kernel_map, bytes); } using lockstatus won't work for smp. I think a solution is to do a trylock on the kmem_map, then have kmem_malloc either recurse on the lock, or take a flag to tell it not to bother locking. ? -- -Alfred Perlstein [[EMAIL PROTECTED]] 'Instead of asking why a piece of software is using "1970s technology," start asking why software is ignoring 30 years of accumulated wisdom.' Tax deductible donations for FreeBSD: http://www.freebsdfoundation.org/ To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-hackers" in the body of the message