change __simple_lock to mutex
add alloc_exact API
fix decrement alloc