Change uma_mtx to rwlock

Bryan Venteicher bryanv at daemoninthecloset.org
Sun Sep 28 01:07:43 UTC 2014


Hi,

I'd appreciate some comments attached patch that changes the uma_mtx to a
rwlock.

At $JOB, we have machines with ~400GB RAM, with much of that being
allocated through UMA zones. We've observed that timeouts were sometimes
unexpectedly delayed by a half second or more. We tracked one of the
reasons for this down to when the page daemon was running, calling
uma_reclaim() -> zone_foreach(). zone_foreach() holds the uma_mtx while
zone_drain()'ing each zone. If uma_timeout() fires, it will block on the
uma_mtx when it tries to zone_timeout() each zone.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Make-the-UMA-lock-a-rwlock-instead-of-a-mutex.patch
Type: application/octet-stream
Size: 5626 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-hackers/attachments/20140927/cecc68f0/attachment.obj>


More information about the freebsd-hackers mailing list