Re: Did something change with ZFS and vnode caching?

From: Garrett Wollman <wollman_at_bimajority.org>
Date: Mon, 11 Sep 2023 04:26:15 UTC
<<On Sun, 10 Sep 2023 12:13:09 +0200, Mateusz Guzik <mjguzik@gmail.com> said:

> Not perfect but you can probably narrow it down with dtrace as is:
> dtrace -n 'lockstat:::adaptive-spin,lockstat:::rw-spin,lockstat:::sx-spin
> { @[stack(), stringof(args[0]->lock_object.lo_name)] = count(); }'

That was ... interesting.  It took a bit of postprocessing, but I was
able to make a flame chart from that:
<https://people.csail.mit.edu/wollman/contention.svg>

Unsurprisingly, the heaviest hitter is the vnode_list mutex, although
it's only about 35% of contention events.  After that it seems to be
UMA locks in the ZFS I/O path.  You can barely see vnlru in here, and
most of the contention events are in UMA or the VM system, not the
vnode_list.

-GAWollman