changed free list lock from mutex to spinlock