uint16_t idx = segment_pool_idx[seg->pool_size];
SCMutexLock(&segment_pool_mutex[idx]);
PoolReturn(segment_pool[idx], (void *) seg);
- SCLogDebug("segment_pool[%"PRIu16"]->empty_list_size %"PRIu32"",
- idx,segment_pool[idx]->empty_list_size);
+ SCLogDebug("segment_pool[%"PRIu16"]->empty_stack_size %"PRIu32"",
+ idx,segment_pool[idx]->empty_stack_size);
SCMutexUnlock(&segment_pool_mutex[idx]);
#ifdef DEBUG
if (quiet == FALSE) {
PoolPrintSaturation(segment_pool[u16]);
- SCLogDebug("segment_pool[u16]->empty_list_size %"PRIu32", "
- "segment_pool[u16]->alloc_list_size %"PRIu32", alloced "
- "%"PRIu32"", segment_pool[u16]->empty_list_size,
- segment_pool[u16]->alloc_list_size,
+ SCLogDebug("segment_pool[u16]->empty_stack_size %"PRIu32", "
+ "segment_pool[u16]->alloc_stack_size %"PRIu32", alloced "
+ "%"PRIu32"", segment_pool[u16]->empty_stack_size,
+ segment_pool[u16]->alloc_stack_size,
segment_pool[u16]->allocated);
}
PoolFree(segment_pool[u16]);
SCMutexLock(&segment_pool_mutex[idx]);
TcpSegment *seg = (TcpSegment *) PoolGet(segment_pool[idx]);
- SCLogDebug("segment_pool[%u]->empty_list_size %u, segment_pool[%u]->alloc_"
- "list_size %u, alloc %u", idx, segment_pool[idx]->empty_list_size,
- idx, segment_pool[idx]->alloc_list_size,
+ SCLogDebug("segment_pool[%u]->empty_stack_size %u, segment_pool[%u]->alloc_"
+ "list_size %u, alloc %u", idx, segment_pool[idx]->empty_stack_size,
+ idx, segment_pool[idx]->alloc_stack_size,
segment_pool[idx]->allocated);
SCMutexUnlock(&segment_pool_mutex[idx]);
SCLogDebug("seg we return is %p", seg);
if (seg == NULL) {
- SCLogDebug("segment_pool[%u]->empty_list_size %u, "
- "alloc %u", idx, segment_pool[idx]->empty_list_size,
+ SCLogDebug("segment_pool[%u]->empty_stack_size %u, "
+ "alloc %u", idx, segment_pool[idx]->empty_stack_size,
segment_pool[idx]->allocated);
/* Increment the counter to show that we are not able to serve the
segment request due to memcap limit */
memset(pb, 0, size * sizeof(PoolBucket));
for (u32 = 0; u32 < size; u32++) {
/* populate pool */
- pb->next = p->empty_list;
+ pb->next = p->empty_stack;
pb->flags |= POOL_BUCKET_PREALLOCATED;
- p->empty_list = pb;
- p->empty_list_size++;
+ p->empty_stack = pb;
+ p->empty_stack_size++;
pb++;
}
}
}
p->allocated++;
- pb->next = p->alloc_list;
- p->alloc_list = pb;
- p->alloc_list_size++;
+ pb->next = p->alloc_stack;
+ p->alloc_stack = pb;
+ p->alloc_stack_size++;
} else {
- PoolBucket *pb = p->empty_list;
+ PoolBucket *pb = p->empty_stack;
if (pb == NULL) {
SCLogError(SC_ERR_POOL_INIT, "alloc error");
goto error;
goto error;
}
- p->empty_list = pb->next;
- p->empty_list_size--;
+ p->empty_stack = pb->next;
+ p->empty_stack_size--;
p->allocated++;
- pb->next = p->alloc_list;
- p->alloc_list = pb;
- p->alloc_list_size++;
+ pb->next = p->alloc_stack;
+ p->alloc_stack = pb;
+ p->alloc_stack_size++;
}
}
if (p == NULL)
return;
- while (p->alloc_list != NULL) {
- PoolBucket *pb = p->alloc_list;
- p->alloc_list = pb->next;
+ while (p->alloc_stack != NULL) {
+ PoolBucket *pb = p->alloc_stack;
+ p->alloc_stack = pb->next;
if (p->Cleanup)
p->Cleanup(pb->data);
if (PoolDataPreAllocated(p, pb->data) == 0) {
}
}
- while (p->empty_list != NULL) {
- PoolBucket *pb = p->empty_list;
- p->empty_list = pb->next;
+ while (p->empty_stack != NULL) {
+ PoolBucket *pb = p->empty_stack;
+ p->empty_stack = pb->next;
if (pb->data!= NULL) {
if (p->Cleanup)
p->Cleanup(pb->data);
void PoolPrint(Pool *p) {
printf("\n----------- Hash Table Stats ------------\n");
- printf("Buckets: %" PRIu32 "\n", p->empty_list_size + p->alloc_list_size);
+ printf("Buckets: %" PRIu32 "\n", p->empty_stack_size + p->alloc_stack_size);
printf("-----------------------------------------\n");
}
void *PoolGet(Pool *p) {
SCEnter();
- PoolBucket *pb = p->alloc_list;
+ PoolBucket *pb = p->alloc_stack;
if (pb != NULL) {
/* pull from the alloc list */
- p->alloc_list = pb->next;
- p->alloc_list_size--;
+ p->alloc_stack = pb->next;
+ p->alloc_stack_size--;
/* put in the empty list */
- pb->next = p->empty_list;
- p->empty_list = pb;
- p->empty_list_size++;
+ pb->next = p->empty_stack;
+ p->empty_stack = pb;
+ p->empty_stack_size++;
} else {
if (p->max_buckets == 0 || p->allocated < p->max_buckets) {
void *pitem;
void PoolReturn(Pool *p, void *data) {
SCEnter();
- PoolBucket *pb = p->empty_list;
+ PoolBucket *pb = p->empty_stack;
SCLogDebug("pb %p", pb);
}
/* pull from the alloc list */
- p->empty_list = pb->next;
- p->empty_list_size--;
+ p->empty_stack = pb->next;
+ p->empty_stack_size--;
/* put in the alloc list */
- pb->next = p->alloc_list;
- p->alloc_list = pb;
- p->alloc_list_size++;
+ pb->next = p->alloc_stack;
+ p->alloc_stack = pb;
+ p->alloc_stack_size++;
pb->data = data;
p->outstanding--;
if (p == NULL)
goto end;
- if (p->alloc_list == NULL || p->empty_list == NULL) {
+ if (p->alloc_stack == NULL || p->empty_stack == NULL) {
printf("list(s) not properly initialized (a:%p e:%p): ",
- p->alloc_list, p->empty_list);
+ p->alloc_stack, p->empty_stack);
retval = 0;
goto end;
}
goto end;
}
- if (p->alloc_list_size != 4) {
- printf("p->alloc_list_size 4 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 4) {
+ printf("p->alloc_stack_size 4 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}
- if (p->empty_list_size != 6) {
- printf("p->empty_list_size 6 != %" PRIu32 ": ", p->empty_list_size);
+ if (p->empty_stack_size != 6) {
+ printf("p->empty_stack_size 6 != %" PRIu32 ": ", p->empty_stack_size);
retval = 0;
goto end;
}
goto end;
}
- if (p->alloc_list_size != 4) {
- printf("p->alloc_list_size 4 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 4) {
+ printf("p->alloc_stack_size 4 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}
- if (p->empty_list_size != 6) {
- printf("p->empty_list_size 6 != %" PRIu32 ": ", p->empty_list_size);
+ if (p->empty_stack_size != 6) {
+ printf("p->empty_stack_size 6 != %" PRIu32 ": ", p->empty_stack_size);
retval = 0;
goto end;
}
goto end;
}
- if (p->alloc_list_size != 4) {
- printf("p->alloc_list_size 4 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 4) {
+ printf("p->alloc_stack_size 4 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}
- if (p->empty_list_size != 6) {
- printf("p->empty_list_size 6 != %" PRIu32 ": ", p->empty_list_size);
+ if (p->empty_stack_size != 6) {
+ printf("p->empty_stack_size 6 != %" PRIu32 ": ", p->empty_stack_size);
retval = 0;
goto end;
}
PoolReturn(p, data);
data = NULL;
- if (p->alloc_list_size != 5) {
- printf("p->alloc_list_size 5 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 5) {
+ printf("p->alloc_stack_size 5 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}
- if (p->empty_list_size != 5) {
- printf("p->empty_list_size 5 != %" PRIu32 ": ", p->empty_list_size);
+ if (p->empty_stack_size != 5) {
+ printf("p->empty_stack_size 5 != %" PRIu32 ": ", p->empty_stack_size);
retval = 0;
goto end;
}
goto end;
}
- if (p->alloc_list_size != 1) {
- printf("p->alloc_list_size 1 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 1) {
+ printf("p->alloc_stack_size 1 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}
goto end;
}
- if (p->alloc_list_size != 1) {
- printf("p->alloc_list_size 1 != %" PRIu32 ": ", p->alloc_list_size);
+ if (p->alloc_stack_size != 1) {
+ printf("p->alloc_stack_size 1 != %" PRIu32 ": ", p->alloc_stack_size);
retval = 0;
goto end;
}