On Wed, 11 Apr 2012, Richard Lowe wrote:
Upfront: This is not my area, neither of expertise nor code. You may also have more luck on developer@
Ok.
First things first, I'd wonder whether we were losing time to contention, or to the locking primitives just being unperformant for some reason. What does plockstat report regarding contention? hold times?
Your suggestion of 'plockstat' was excellent. Different application algorithms show different high-runners but the high-runner locks are usually not called very often but are held for an abnormally long time. For some algorithms the high-runners are in libc (e.g. malloc) and OpenMP but in some others it is my application's explicit locks.
Regardless of the results of the above: Have you looked at whether there are cache alignment issues with your (application) mutexes?
There is some possibility of this (and I will make changes to prevent it) but quite often plockstat shows that the high-runners are in mutexes that my application does not explicitly allocate.
Bob -- Bob Friesenhahn [email protected], http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/ ------------------------------------------- illumos-discuss Archives: https://www.listbox.com/member/archive/182180/=now RSS Feed: https://www.listbox.com/member/archive/rss/182180/21175430-2e6923be Modify Your Subscription: https://www.listbox.com/member/?member_id=21175430&id_secret=21175430-6a77cda4 Powered by Listbox: http://www.listbox.com
