add spin lock support