diff options
author | Stefan Fritsch <sf@apache.org> | 2012-06-22 16:55:07 +0200 |
---|---|---|
committer | Stefan Fritsch <sf@apache.org> | 2012-06-22 16:55:07 +0200 |
commit | 46afd8fd2e7442c0b1d6e692d09e74f98f867c51 (patch) | |
tree | 367054687f2dc7e0cb5854dbf53651e7e6d43267 | |
parent | RFC 5878 support. (diff) | |
download | apache2-46afd8fd2e7442c0b1d6e692d09e74f98f867c51.tar.xz apache2-46afd8fd2e7442c0b1d6e692d09e74f98f867c51.zip |
improve dump_allocator, add dump_one_pool
- dump_one_pool dumps the size of a pool not including child pools
- dump_allocator now dumps the size of the memnodes and not the last used
free size. Also dump the total size.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1352909 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r-- | .gdbinit | 24 |
1 files changed, 23 insertions, 1 deletions
@@ -349,23 +349,45 @@ define dump_allocator printf "Allocator free list:\n" set $i = 0 set $max =(sizeof $arg0->free)/(sizeof $arg0->free[0]) + set $kb = 0 while $i < $max set $node = $arg0->free[$i] if $node != 0 printf " #%2d: ", $i while $node != 0 - printf "%d, ", $node->endp - $node->first_avail + printf "%d, ", 4096 << $node->index + set $kb = $kb + (4 << $node->index) set $node = $node->next end printf "ends.\n" end set $i = $i + 1 end + printf "Sum of free blocks: %dkiB\n", $kb end document dump_allocator Print status of an allocator and its freelists. end +define dump_one_pool + set $p = $arg0 + set $size = 0 + set $free = 0 + set $nodes = 0 + set $node = $arg0->active + set $done = 0 + while $done == 0 + set $size = $size + (4096 << $node->index) + set $free = $free + ($node->endp - $node->first_avail) + set $nodes = $nodes + 1 + set $node = $node->next + if $node == $arg0->active + set $done = 1 + end + end + printf "Pool '%s' [%p]: %d/%d free (%d blocks)\n", $p->tag, $p, $free, $size, $nodes +end + # Set sane defaults for common signals: handle SIGPIPE noprint pass nostop handle SIGUSR1 print pass nostop |