It is very conservative. Only spinning when LK_ADAPTIVE is passed, only on exclusive lock and never when any waiters are present. buffer cache is remains not spinning.
This reduces total sleep times during buildworld etc., but it does not help there (vm contention is the culprit along with slock + upgrade which is not covered).
For microbenchmarks: open3_processes -t 52 (open/close of the same file for writing) ops/s
before: 258845
after: 801638