/*
- * Bacula memory pool routines.
+ * Bacula memory pool routines.
*
* The idea behind these routines is that there will be
* pools of memory that are pre-allocated for quick
* access. The pools will have a fixed memory size on allocation
- * but if need be, the size can be increased. This is
+ * but if need be, the size can be increased. This is
* particularly useful for filename
* buffers where 256 bytes should be sufficient in 99.99%
* of the cases, but when it isn't we want to be able to
pool_ctl[pool].max_used = pool_ctl[pool].in_use;
}
V(mutex);
- Dmsg3(800, "sm_get_pool_memory reuse %x to %s:%d\n", buf, fname, lineno);
+ Dmsg3(1800, "sm_get_pool_memory reuse %x to %s:%d\n", buf, fname, lineno);
sm_new_owner(fname, lineno, (char *)buf);
return (POOLMEM *)((char *)buf+HEAD_SIZE);
}
-
+
if ((buf = (struct abufhead *)sm_malloc(fname, lineno, pool_ctl[pool].size+HEAD_SIZE)) == NULL) {
V(mutex);
Emsg1(M_ABORT, 0, "Out of memory requesting %d bytes\n", pool_ctl[pool].size);
pool_ctl[pool].max_used = pool_ctl[pool].in_use;
}
V(mutex);
- Dmsg3(800, "sm_get_pool_memory give %x to %s:%d\n", buf, fname, lineno);
+ Dmsg3(1800, "sm_get_pool_memory give %x to %s:%d\n", buf, fname, lineno);
return (POOLMEM *)((char *)buf+HEAD_SIZE);
}
/* Don't let him free the same buffer twice */
for (next=pool_ctl[pool].free_buf; next; next=next->next) {
if (next == buf) {
- Dmsg4(800, "bad free_pool_memory %x pool=%d from %s:%d\n", buf, pool, fname, lineno);
+ Dmsg4(1800, "bad free_pool_memory %x pool=%d from %s:%d\n", buf, pool, fname, lineno);
V(mutex); /* unblock the pool */
ASSERT(next != buf); /* attempt to free twice */
}
buf->next = pool_ctl[pool].free_buf;
pool_ctl[pool].free_buf = buf;
}
- Dmsg4(800, "free_pool_memory %x pool=%d from %s:%d\n", buf, pool, fname, lineno);
+ Dmsg4(1800, "free_pool_memory %x pool=%d from %s:%d\n", buf, pool, fname, lineno);
V(mutex);
}
V(mutex);
return (POOLMEM *)((char *)buf+HEAD_SIZE);
}
-
+
if ((buf=malloc(pool_ctl[pool].size+HEAD_SIZE)) == NULL) {
V(mutex);
Emsg1(M_ABORT, 0, "Out of memory requesting %d bytes\n", pool_ctl[pool].size);
buf->next = pool_ctl[pool].free_buf;
pool_ctl[pool].free_buf = buf;
}
- Dmsg2(800, "free_pool_memory %x pool=%d\n", buf, pool);
+ Dmsg2(1800, "free_pool_memory %x pool=%d\n", buf, pool);
V(mutex);
}
sprintf(buf, "%-6d", pool);
return buf;
}
-
-/* Print staticstics on memory pool usage
- */
+
+/* Print staticstics on memory pool usage
+ */
void print_memory_pool_stats()
{
- Dmsg0(-1, "Pool Maxsize Maxused Inuse\n");
+ Pmsg0(-1, "Pool Maxsize Maxused Inuse\n");
for (int i=0; i<=PM_MAX; i++)
- Dmsg4(-1, "%5s %7d %7d %5d\n", pool_name(i), pool_ctl[i].max_allocated,
+ Pmsg4(-1, "%5s %7d %7d %5d\n", pool_name(i), pool_ctl[i].max_allocated,
pool_ctl[i].max_used, pool_ctl[i].in_use);
- Dmsg0(-1, "\n");
+ Pmsg0(-1, "\n");
}
#else
-void print_memory_pool_stats() {}
+void print_memory_pool_stats() {}
#endif /* DEBUG */
int pm_strcpy(POOL_MEM &pm, const char *str)
-{
+{
int len = strlen(str) + 1;
pm.check_size(len);
memcpy(pm.c_str(), str, len);
int POOL_MEM::strcpy(const char *str)
-{
+{
int len = strlen(str) + 1;
check_size(len);
memcpy(mem, str, len);