diff options
author | Nick Mathewson <nickm@torproject.org> | 2007-12-26 00:12:08 +0000 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2007-12-26 00:12:08 +0000 |
commit | a7ef07b4bd3a4a3ba66336601e5a27649cb923d9 (patch) | |
tree | 7a38a26ea71a0ead464c54d0b8d58ec7330877f8 /src/or/main.c | |
parent | 1401bc54f4b8aeeea21950ad20e8d79ffc87ba0b (diff) | |
download | tor-a7ef07b4bd3a4a3ba66336601e5a27649cb923d9.tar tor-a7ef07b4bd3a4a3ba66336601e5a27649cb923d9.tar.gz |
r15693@tombo: nickm | 2007-12-25 19:11:29 -0500
Here, have some terribly clever new buffer code. It uses a mbuf-like strategy rather than a ring buffer strategy, so it should require far far less extra memory to hold any given amount of data. Also, it avoids access patterns like x=malloc(1024);x=realloc(x,1048576);x=realloc(x,1024);append_to_freelist(x) that might have been contributing to memory fragmentation. I've tested it out a little on peacetime, and it seems to work so far. If you want to benchmark it for speed, make sure to remove the #define PARANOIA; #define NOINLINE macros at the head of the module.
svn:r12983
Diffstat (limited to 'src/or/main.c')
-rw-r--r-- | src/or/main.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/or/main.c b/src/or/main.c index f21ef01ef..c9ac54dc8 100644 --- a/src/or/main.c +++ b/src/or/main.c @@ -1606,13 +1606,13 @@ dumpstats(int severity) "Conn %d: %d bytes waiting on inbuf (len %d, last read %d secs ago)", i, (int)buf_datalen(conn->inbuf), - (int)buf_capacity(conn->inbuf), + (int)buf_allocation(conn->inbuf), (int)(now - conn->timestamp_lastread)); log(severity,LD_GENERAL, "Conn %d: %d bytes waiting on outbuf " "(len %d, last written %d secs ago)",i, (int)buf_datalen(conn->outbuf), - (int)buf_capacity(conn->outbuf), + (int)buf_allocation(conn->outbuf), (int)(now - conn->timestamp_lastwritten)); } circuit_dump_by_conn(conn, severity); /* dump info about all the circuits |