On Wednesday 29 May 2013 23:21:13 Paul J Stevens wrote: > Hi all, > > Below change is actually quite a milestone for me. It appears to iron > out the last remaining problems from quite an invasive audit, cleanup > and refactoring of as much of imapd's memory usage as I could stomach at > this point. > > This means the current master is now officially ready again for > real-world testing. If it holds up over the next week or so I plan to > release it as 3.1.0, indicating the amount of changes going in. > > Test results regarding the memory footprint are rather inconclusive at > this point, so I can't be sure the memory footprint has really changed. > > One thing of import for some perhaps: > > I did add a really experimental memory-pool implementation to the code. > It's disabled by default. Running with DM_POOL=yes in the environment > will activate it. But be careful. > > It's an third-party implementation that looked really nice and behaved > well in the initial tests. Now that I've started using it in my dog-food > production setup, I'm not so sure any more. So be mindful if you plan to > play with it. Ymmv, and I'd be interested to hear how it works in > different scenarios. > > I thought it would be good to be able to give each connected client it's > own memory arena. But with hindsight it doesn't seem like a good idea > any more; particularly for daemons handling many concurrent and > long-running clients, like imapd. It just doesn't scale very well as it > now stands. > > Still, being able to use separate memory arenas still seems like a neat > idea. I will give it more consideration, and leave it at that for now. > > ##
Hi Paul, There are a number of issues in FreeBSD land, that the two attached patches appear to address. I have had many problems with the event library, though it may have something to do with having both version 1.4 and 2.0 installed. The acinclude.m4 patch uses pkg-config to get at the appropriate libraries for libevent_pthreads. You appear to be using libevent2.0 in compatibility mode. I was getting lots of redefined errors, possibly due to including evhttp.h which is from version 1.4. After adding in the additional headers and doing an autoreconf compilation completed successfully though with plenty of what appear to be innocuous warnings. Alas family issues mean testing will have to wait until next week. Most grateful for all your work on this and also gmime. Thanks, Alan For your interest the make logs are http://p-o.co.uk/downloads/dbmail-make.out.gz http://p-o.co.uk/downloads/dbmail-clang-make.out.gz
patch-acinclude.m4
Description: application/m4
--- dbmail.h.in.orig 2013-05-31 13:26:41.000000000 +0100 +++ dbmail.h.in 2013-05-31 13:27:07.000000000 +0100 @@ -84,7 +84,6 @@ #include <sys/queue.h> #include <event2/event.h> #include <event2/thread.h> -#include <evhttp.h> +#include <event2/event_compat.h> +#include <event2/http.h> +#include <event2/http_struct.h> +#include <event2/http_compat.h> +#include <event2/buffer.h> +#include <event2/buffer_compat.h> +#include <event2/keyvalq_struct.h> #include <math.h> #include <openssl/ssl.h>
_______________________________________________ Dbmail-dev mailing list Dbmail-dev@dbmail.org http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev