* The calculation of the sizes was flawed:

The index tells us the size of the node in 4096 byte pages minus 1.
  Hence we need to multiply back with 4096 aka << 12 (plus adding the
  missing page).


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1811569 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Ruediger Pluem
2017-10-09 13:30:26 +00:00
parent 22b4d25f76
commit b269faedaa

View File

@ -374,8 +374,8 @@ define dump_allocator
if $node != 0 if $node != 0
printf " #%2d: ", $i printf " #%2d: ", $i
while $node != 0 while $node != 0
printf "%d, ", 4096 << $node->index printf "%d, ", ($node->index + 1) << 12
set $kb = $kb + (4 << $node->index) set $kb = $kb + (($node->index + 1) << 2)
set $node = $node->next set $node = $node->next
end end
printf "ends.\n" printf "ends.\n"
@ -396,7 +396,7 @@ define dump_one_pool
set $node = $arg0->active set $node = $arg0->active
set $done = 0 set $done = 0
while $done == 0 while $done == 0
set $size = $size + (4096 << $node->index) set $size = $size + (($node->index + 1) << 12)
set $free = $free + ($node->endp - $node->first_avail) set $free = $free + ($node->endp - $node->first_avail)
set $nodes = $nodes + 1 set $nodes = $nodes + 1
set $node = $node->next set $node = $node->next
@ -444,7 +444,7 @@ class DumpPoolAndChilds (gdb.Command):
if node != 0: if node != 0:
while node != 0: while node != 0:
noded = node.dereference() noded = node.dereference()
kb = kb + (4 << int(noded['index'])) kb = kb + ((int(noded['index']) + 1) << 2)
node = noded['next'] node = noded['next']
i = i + 1 i = i + 1
self.total_free_blocks[salloc] = kb self.total_free_blocks[salloc] = kb
@ -461,7 +461,7 @@ class DumpPoolAndChilds (gdb.Command):
done = 0 done = 0
while done == 0: while done == 0:
noded = node.dereference() noded = node.dereference()
size = size + (4096 << int(noded['index'])) size = size + ((int(noded['index']) + 1) << 12)
free = free + (noded['endp'] - noded['first_avail']) free = free + (noded['endp'] - noded['first_avail'])
nodes = nodes + 1 nodes = nodes + 1
node = noded['next'] node = noded['next']