Race in kmem_cache_init fixed
authorKevin Klues <klueska@cs.berkeley.edu>
Tue, 18 Dec 2012 20:13:33 +0000 (12:13 -0800)
committerKevin Klues <klueska@cs.berkeley.edu>
Tue, 18 Dec 2012 20:13:33 +0000 (12:13 -0800)
commit9faec3670138efacb58058e1351a100f8a8001b4
tree091622cbefa81b9cd81eb49b6979bc8bec542d23
parent22f8cc106d889e9391d43f4516a1dbb8dd59f61a
Race in kmem_cache_init fixed

We need to make sure that one one else starts using the slab allocatior
until it has fully initialized.  There was a race on one guy starting to
initialize it, not finishing, and another one starting to use it.

I fixed up the logic and am using the new run_once() macro in
ros/common.h to accomplish this task properly.
user/parlib/slab.c