On Wed, Apr 11, 2012 at 12:35:09PM -0500, Bob Friesenhahn wrote:
<SNIP!>
> 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.
One other thing you may wish to try is use libumem's version of malloc()
instead. You can run libumem w/o any recompilation by doing stupid
environment tricks:
LD_PRELOAD=libumem.so
will be enough to make libumem's version of malloc be used instead of libc's.
Not sure if it'll help you, but it's a worthy experiment.
Dan
-------------------------------------------
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