Hello,
we have a massively multithreaded daemon(more than 100lpws) running on solaris
9, E25000, 64 bit. we use umem via LD_PRELOAD_64, ie there are no explicit
calls to umem. it performs fine during the day, however at the start of real
work, when data start to come in, a lot of threads (10-15) have following top
of the stack:
ffffffff7d618370 lwp_park (0, 0, 0)
ffffffff7d613ed0 mutex_lock_queue (ffffffff7d71b8b8, 0, ffffffff7d5c01e8, 0,
0, 0) + 104
ffffffff7d61490c slow_lock (ffffffff7d5c01e8, ffffffff6c806400,
ffffffff7f3302b8, 0, 0, 0) + 58
ffffffff7d4a0bf4 _sbrk_grow_aligned (10000, 2000, 2000, ffffffff6ad394b8, 0,
0) + 5c
ffffffff7f212b00 vmem_sbrk_alloc (ffffffff7f32ff40, 2000, 1, 0, 0, 40) + b4
ffffffff7f21937c vmem_xalloc (ffffffff7f322000, 0, ffffffff7f330ec0, 0,
ffffffff7f330b78, 2) + 5d4
ffffffff7f2199c8 vmem_alloc (ffffffff7f330b48, 2000, 1, 0, 0, 0) + 258
ffffffff7f21937c vmem_xalloc (ffffffff7f322000, 0, 10084e378, 0, 10084e030,
2) + 5d4
ffffffff7f2199c8 vmem_alloc (10084e000, 2000, 1, 0, 0, 0) + 258
ffffffff7f213de4 umem_slab_create (100858a68, 0, 0, 0, 0, 0) + 64
ffffffff7f2141d8 umem_slab_alloc (100858a68, 0, 0, 0, 0, 0) + 88
ffffffff7f2151bc umem_cache_alloc (1008590c0, 0, 0, 0, 0, 0) + fc
ffffffff7f215624 umem_alloc (139, 0, 2000, 40, ffffffffffffffff, 40) + 3c
ffffffff7f211690 malloc (129, ffffffff6ad3de60, 2000, 0,
ffffffff7d5bc668, 0) + 28
and our daemon hangs for about 1m.
is it a known issue?
is there any way to make it better on initial allocation?
thanx.
This message posted from opensolaris.org
_______________________________________________
perf-discuss mailing list
[email protected]