Messages in this thread | | | From | Andres Freund <> | Subject | Re: Costly Context Switches | Date | Mon, 13 Dec 2010 15:25:54 +0100 |
| |
On Monday 13 December 2010 14:51:04 Arnaldo Carvalho de Melo wrote: > Em Sun, Dec 12, 2010 at 08:07:07PM +0100, Andres Freund escreveu: > > On Sunday 12 December 2010 16:11:12 Ralf Hildebrandt wrote: > > > I recently made a parallel installation of dovecot-2.0 on my mailbox > > > server, which is running dovecot-1.2 without any problems whatsoever. > > > > > > Using dovecot-2.0 on the same hardware, same kernel, with the same > > > users and same mailboxes and usage behaviour results in an immense > > > increase in the load numbers. > > > > > > Switching back to 1.2 results in a immediate decrease of the load back > > > to "normal" numbers. > > > > > > This is mainly due to a 10-20 fold increase of the number of context > > > switches. The same problem has been reported independently by Cor > > > Bosman of XS4All, on different hardware (64bit instead of 32bit, > > > real hardware instead of virtual hardware). > > > > > > So, now the kernel related question: How can I find out WHY the > > > context switches are happening? Are there any "in kernel" statistics > > > I could look at? > > > > "strace" or "perf trace syscall-counts" would be a good start. > > Better to record just "cs" (Context Switches) events and also to collect > callchains when those events take place: Hm. Its also a good starting point but it may be harder to see the differences between dovecot-2.0 and dovecot-1.2 that way because its harder to see if its the usage being different causing the problem (i.e. calling in a different order, trashing caches) or if its the amount of syscalls that changed. But I agree that both are very usefull analyze problems like that.
Andres
| |