public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
To: Andres Freund <andres@anarazel.de>
Cc: Ralf Hildebrandt <Ralf.Hildebrandt@charite.de>,
	linux-kernel@vger.kernel.org
Subject: Re: Costly Context Switches
Date: Mon, 13 Dec 2010 12:29:11 -0200	[thread overview]
Message-ID: <20101213142911.GH5407@ghostprotocols.net> (raw)
In-Reply-To: <201012131525.54577.andres@anarazel.de>

Em Mon, Dec 13, 2010 at 03:25:54PM +0100, Andres Freund escreveu:
> 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 

Well, for that he can try 'perf diff', i.e.:

1. run perf record on dovecot-1.2
2. run perf record on dovecot-2.0
3. perf diff

> 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.

Well, I tried to answer his question:

"How can I find out WHY the context switches are happening?"

:-)

- Arnaldo

  reply	other threads:[~2010-12-13 14:29 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-12-12 15:11 Costly Context Switches Ralf Hildebrandt
2010-12-12 19:07 ` Andres Freund
2010-12-13 13:51   ` Arnaldo Carvalho de Melo
2010-12-13 14:00     ` Ralf Hildebrandt
2010-12-13 14:25     ` Andres Freund
2010-12-13 14:29       ` Arnaldo Carvalho de Melo [this message]
2010-12-13 14:30         ` Andres Freund
2010-12-13 14:36           ` Arnaldo Carvalho de Melo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101213142911.GH5407@ghostprotocols.net \
    --to=acme@ghostprotocols.net \
    --cc=Ralf.Hildebrandt@charite.de \
    --cc=andres@anarazel.de \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox