libumem.so does not work well under solaris9?

Hi,

I am now developping an appliaction that frequently allocate big buckets of memory with multiple threads. I used the libumem.so and it works pretty well under solaris 10. However, under solaris 9, it has problem similar with the normal malloc, that is, from stackframe I pasted below, I can see the threads are wait for the lock:

-- (stack frame for one thread)

ff1558f4 lwp_park (0, 0, 0)

ff15166c mutex_lock_queue (ff168b44, 0, ff39c7c0, ff168000, 0, 0) + 104

ff15206c slow_lock (ff39c7c0, ff0f0200, 10, ff394000, 20e008, 1e7ff0) + 58

ff37b5cc vmem_alloc (ff39c790, 2000, 1, 0, 0, 2000) + fc

ff37b0c0 vmem_xalloc (0, 2000, ff394000, 0, 2044a8, 2) + 554

ff37b6cc vmem_alloc (204478, 2000, 1, 198f7f, 0, 0) + 1fc

ff375af0 umem_slab_create (2000, 0, 8fc54, 0, fef7bb30, 1b73fc) + 5c

ff375ed0 umem_slab_alloc (215188, 0, 0, ff394000, 0, 0) + 90

ff376e48 umem_cache_alloc (0, 0, 0, 0, 0, 0) + ec

ff3772a4 umem_alloc (1394, 0, 0, 0, 0, 0) + 44

ff37354c malloc(138c, 1, 10, 3831da98, 20e008, 1e7ff0) + 2c

ff373610 calloc(138c, 1, 2288, 105cc4, b112c, 2000) + 58

-

Also, use prstat -mL, I found the value of DFL and LCK is much bigger than which at solaris 10:

PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWPID

Prstat -mL at solaris 9:

2989 xxx16 21 0.0 0.0 37 23 0.2 2.2 1K 606 6K0 app/3

2989 xxx16 20 0.0 0.0 36 25 0.2 3.2 1K 559 6K0 app/2

2989 xxx15 21 0.0 0.0 37 23 0.2 3.4 1K 611 6K0 app/4

2989 xxx16 20 0.0 0.0 33 28 0.2 2.7 1K 553 6K0 app/5

Prstat -mL at solaris 10:

14428 xxx35 9.1 0.1 0.0 0.6 1.4 51 3.4 1K 1K 25K0 app/4

14428 xxx33 8.8 0.2 0.0 0.3 1.4 53 3.4 1K 1K 23K0 app/2

14428 xxx32 8.5 0.2 0.0 0.4 1.3 53 4.5 1K 1K 23K0 app/5

14428 xxx32 8.3 0.1 0.0 0.4 1.5 53 4.1 1K 1K 23K0 app/3

The two machine has the same configruation, exception the version of solaris. Could anyone give me some clue for that? Need I do some configuration for libumem.so under solaris 9?

thanks

[2109 byte] By [Andew.ge] at [2007-11-26 7:51:14]
# 1
You question is not about C++, but about Solaris system behavior. I suggest you post your question in the Solaris 9 forum here, or in one of the community forums at http://www.opensolaris.org/You are more likely to get a helpful answer in an appropriate forum.
clamage45 at 2007-7-6 20:10:04 > top of Java-index,Development Tools,Solaris and Linux Development Tools...