version 1.1.2.3, 2012/02/28 00:25:25
|
version 1.1.2.13, 2012/02/28 12:49:59
|
Line 2
|
Line 2
|
#include <aitsess.h> |
#include <aitsess.h> |
|
|
|
|
|
void show(u_int size, u_int act, u_int inact) |
|
{ |
|
if (!act && !inact) |
|
return; |
|
|
|
if (size < 1024) |
|
printf("Statistics:: BUCKET %uB size, %u active, %u inactive\n", size, act, inact); |
|
else if (size < 1024 * 1024) |
|
printf("Statistics:: BUCKET %uKB size, %u active, %u inactive\n", size / 1024, act, inact); |
|
else |
|
printf("Statistics:: BUCKET %uMB size, %u active, %u inactive\n", size / (1024 * 1024), act, inact); |
|
} |
|
|
int |
int |
main(int argc, char **argv) |
main(int argc, char **argv) |
{ |
{ |
mpool_t *mp; |
mpool_t *mp; |
void *addr; |
void *addr; |
int i; |
int i; |
|
u_long curr; |
|
|
for (i = 0; i < 3; i++) { |
for (i = 0; i < 3; i++) { |
addr = malloc(4000); |
addr = malloc(4000); |
Line 15 main(int argc, char **argv)
|
Line 29 main(int argc, char **argv)
|
free(addr); |
free(addr); |
} |
} |
|
|
mp = mpool_init(); | mp = mpool_init(0); |
if (!mp) { |
if (!mp) { |
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
return 1; |
return 1; |
} |
} |
|
/* |
|
mpool_getquota(mp, &curr, NULL); |
|
printf("___current=%lu\n", curr); |
|
*/ |
|
|
for (i = 0; i < 3; i++) { |
for (i = 0; i < 3; i++) { |
|
addr = mpool_malloc(mp, 4000, "mdaaa 4000"); |
|
if (!addr) { |
|
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
|
mpool_destroy(&mp); |
|
return 2; |
|
} |
|
printf("addr=%p chkaddr=%d addr_size=%d\n", addr, mpool_chkaddr(addr), mpool_getsizebyaddr(addr)); |
|
|
|
strlcpy(addr, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\ndddddd\n", |
|
mpool_getsizebyaddr(addr)); |
|
// mpool_free(mp, addr, 0); |
|
} |
|
|
|
mpool_getquota(mp, &curr, NULL); |
|
printf("___current=%lu\n", curr); |
|
|
|
printf("0) calls.act=%lu calls.inact=%lu calls.free=%lu; bytes.act=%lu bytes.inact=%lu bytes.free=%lu;\n", |
|
mp->pool_calls.alloc, mp->pool_calls.cache, mp->pool_calls.free, |
|
mp->pool_bytes.alloc, mp->pool_bytes.cache, mp->pool_bytes.free); |
|
mpool_statistics(mp, show); |
|
|
|
addr = mpool_realloc(mp, addr, 5010, "|||||||||||||"); |
|
if (!addr) |
|
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
|
mpool_getquota(mp, &curr, NULL); |
|
printf("addr=%p_current=%lu\n", addr, curr); |
|
|
|
printf("1) calls.act=%lu calls.inact=%lu calls.free=%lu; bytes.act=%lu bytes.inact=%lu bytes.free=%lu;\n", |
|
mp->pool_calls.alloc, mp->pool_calls.cache, mp->pool_calls.free, |
|
mp->pool_bytes.alloc, mp->pool_bytes.cache, mp->pool_bytes.free); |
|
mpool_statistics(mp, show); |
|
|
|
|
|
if (addr) |
|
mpool_free(mp, addr, 0); |
|
|
|
printf("2) calls.act=%lu calls.inact=%lu calls.free=%lu; bytes.act=%lu bytes.inact=%lu bytes.free=%lu;\n", |
|
mp->pool_calls.alloc, mp->pool_calls.cache, mp->pool_calls.free, |
|
mp->pool_bytes.alloc, mp->pool_bytes.cache, mp->pool_bytes.free); |
|
mpool_statistics(mp, show); |
|
|
|
mpool_purge(mp, 0); |
|
|
|
mpool_getquota(mp, &curr, NULL); |
|
printf("___current=%lu\n", curr); |
|
|
|
printf("3) calls.act=%lu calls.inact=%lu calls.free=%lu; bytes.act=%lu bytes.inact=%lu bytes.free=%lu;\n", |
|
mp->pool_calls.alloc, mp->pool_calls.cache, mp->pool_calls.free, |
|
mp->pool_bytes.alloc, mp->pool_bytes.cache, mp->pool_bytes.free); |
|
mpool_statistics(mp, show); |
|
|
addr = mpool_malloc(mp, 4000, "mdaaa 4000"); |
addr = mpool_malloc(mp, 4000, "mdaaa 4000"); |
if (!addr) { |
if (!addr) { |
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
printf("Error:: #%d - %s\n", sess_GetErrno(), sess_GetError()); |
Line 29 main(int argc, char **argv)
|
Line 98 main(int argc, char **argv)
|
return 2; |
return 2; |
} |
} |
printf("addr=%p chkaddr=%d addr_size=%d\n", addr, mpool_chkaddr(addr), mpool_getsizebyaddr(addr)); |
printf("addr=%p chkaddr=%d addr_size=%d\n", addr, mpool_chkaddr(addr), mpool_getsizebyaddr(addr)); |
|
|
strlcpy(addr, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\ndddddd\n", |
|
mpool_getsizebyaddr(addr)); |
|
mpool_free(mp, addr, 0); |
mpool_free(mp, addr, 0); |
} |
|
|
|
mpool_purge(mp, 1); | printf("4) calls.act=%lu calls.inact=%lu calls.free=%lu; bytes.act=%lu bytes.inact=%lu bytes.free=%lu;\n", |
| mp->pool_calls.alloc, mp->pool_calls.cache, mp->pool_calls.free, |
| mp->pool_bytes.alloc, mp->pool_bytes.cache, mp->pool_bytes.free); |
| mpool_statistics(mp, show); |
mpool_destroy(&mp); |
mpool_destroy(&mp); |
return 0; |
return 0; |
} |
} |