Hello, Unless anyone objects, I would like to change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to: 1) share the lock among objects by holding a reference 2) avoid false-sharing on locks. Note that struct vnode::v_interlock becomes a pointer, which means a chunk of mechanical changes.
-- Mindaugas