Have pages point at their spinlock rather than keep an index into an array.  Also allocate a contiguous block of locks rather than adding an extra indirection.
Once we enter an LSM tree, we are "busy" for the purposes of cache full checks.
Avoid reading a page that is being evicted when walking with WT_WALK_CACHE set.