use a RCU scheme in place of a lock in xxx_allocator()