Exotic spinlocks: XTS_MGR

My friend and colleague - Fabricio Catae - had blogged about spinlocks previously. In one of the comments, a visitor has asked him about the XTS_MGR spinlock. There is no public documentation about this spinlock, because it is largely implementation specific detail.

However, a general explanation is that this spinlock is taken out in many functions within SQL Server, most of which are responsible for version store operations (when you enable Read Committed Snapshot for example). So if you ever face contention for this spinlock, one thing to consider is the effect of highly concurrent and extensive DML workloads, which generally work the version store much harder. Other than that, it is best to contact Microsoft CSS if you suspect that this contention is causing problems on your instance of SQL.

More information on the version store can be found here:

If you have more questions or have seen other spinlocks which you are curious about, do leave a comment. I’ll see what we can explain regarding those!

Comments (3)

  1. Great article. Now I know what the intrinsic XTS_MGR spinlock really is. Thanks!

  2. @sql_handle says:

    Thanks!  Christian Bracchi and I have seen high X_PACKET_LIST conditions… anything to share on that spinlock type?


Skip to main content