On Fri, 2010-11-05 at 15:08 +0100, Ralf Hildebrandt wrote:
I'm wondering if the problem has to do with the way processes now do IPC
That could very well be. Lots of time is spent in the kernel
What exactly has changed - and what kind of data are the processes exchanging via IPCs? And which processes are talking to each other?
There's a lot more of IPC going on now. Each process at startup connects to config process to read configuration (vs. reading it from environment variables). State tracking is done in anvil process (vs. master process internally). Logging is via pipes to log process instead of sockets to master process (this should improve performance). Maybe other things I can't think of now.
Anyway, I'd think the used system time is owned by some process(es). Would be interesting to know what kind of logs you get with the attached patch (e.g. run dovecot for an hour..day, stop it, gather all logs, count the used system times per process type and see which ones used the most).