netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: David Miller <davem@davemloft.net>
Cc: zbr@ioremap.net, akpm@linux-foundation.org,
	a.p.zijlstra@chello.nl, efault@gmx.de, jkosina@suse.cz,
	rjw@sisk.pl, s0mbre@tservice.net.ru,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org
Subject: Re: [tbench regression fixes]: digging out smelly deadmen.
Date: Mon, 27 Oct 2008 10:30:35 +0100	[thread overview]
Message-ID: <20081027093035.GA23743@elte.hu> (raw)
In-Reply-To: <20081026.193451.36032548.davem@davemloft.net>


* David Miller <davem@davemloft.net> wrote:

> From: Evgeniy Polyakov <zbr@ioremap.net>
> Date: Sun, 26 Oct 2008 13:05:55 +0300
> 
> > I'm not surprised there were no changes when I reported hrtimers to be
> > the main guilty factor in my setup for dbench tests, and only when David
> > showed that they also killed his sparks via wake_up(), something was
> > done. Now this regression even dissapeared from the list.
> > Good direction, we should always follow this.
> 
> Yes, this situation was in my opinion a complete fucking joke.  
> Someone like me shouldn't have to do all of the hard work for the 
> scheduler folks in order for a bug like this to get seriously looked 
> at.

yeah, that overhead was bad, and once it became clear that you had 
high-resolution timers enabled for your benchmaking runs (which is 
default-off and which is still rare for benchmarking runs - despite 
being a popular end-user feature) we immediately disabled the hrtick via 
this upstream commit:

  0c4b83d: sched: disable the hrtick for now

that commit is included in v2.6.28-rc1 so this particular issue should 
be resolved.

high-resolution timers are still default-disabled in the upstream 
kernel, so this never affected usual configs that folks keep 
benchmarking - it only affected those who decided they want higher 
resolution timers and more precise scheduling.

Anyway, the sched-hrtick is off now, and we wont turn it back on without 
making sure that it's really low cost in the hotpath.

Regarding tbench, a workload that context-switches in excess of 100,000 
per second is inevitably going to show scheduler overhead - so you'll 
get the best numbers if you eliminate all/most scheduler code from the 
hotpath. We are working on various patches to mitigate the cost some 
more - and your patches and feedback is welcome as well.

But it's a difficult call with no silver bullets. On one hand we have 
folks putting more and more stuff into the context-switching hotpath on 
the (mostly valid) point that the scheduler is a slowpath compared to 
most other things. On the other hand we've got folks doing 
high-context-switch ratio benchmarks and complaining about the overhead 
whenever something goes in that improves the quality of scheduling of a 
workload that does not context-switch as massively as tbench. It's a 
difficult balance and we cannot satisfy both camps.

Nevertheless, this is not a valid argument in favor of the hrtick 
overhead: that was clearly excessive overhead and we zapped it.

	Ingo

  reply	other threads:[~2008-10-27  9:31 UTC|newest]

Thread overview: 94+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-10-09 23:17 [tbench regression fixes]: digging out smelly deadmen Evgeniy Polyakov
2008-10-10  5:40 ` Peter Zijlstra
2008-10-10  8:09 ` Evgeniy Polyakov
2008-10-10  9:15   ` Ingo Molnar
2008-10-10 11:31     ` Evgeniy Polyakov
2008-10-10 11:40       ` Ingo Molnar
2008-10-10 13:25         ` Evgeniy Polyakov
2008-10-10 11:42       ` Ingo Molnar
2008-10-10 11:55         ` Evgeniy Polyakov
2008-10-10 11:57           ` Ingo Molnar
2008-10-24 22:25             ` Rafael J. Wysocki
2008-10-24 23:31               ` David Miller
2008-10-25  4:05                 ` Mike Galbraith
2008-10-25  5:15                   ` David Miller
2008-10-25  5:53                     ` Mike Galbraith
2008-10-25 11:13                 ` Rafael J. Wysocki
2008-10-26  3:55                   ` David Miller
2008-10-26 11:33                     ` Rafael J. Wysocki
2008-10-25  3:37               ` Mike Galbraith
2008-10-25  5:16                 ` David Miller
2008-10-25  5:58                   ` Mike Galbraith
2008-10-25  6:53                     ` Mike Galbraith
2008-10-25  7:24                       ` David Miller
2008-10-25  7:52                         ` Mike Galbraith
2008-10-25 23:10                         ` Jiri Kosina
2008-10-26  8:46                           ` Mike Galbraith
2008-10-26  9:00                             ` Peter Zijlstra
2008-10-26  9:11                               ` Andrew Morton
2008-10-26  9:27                                 ` Evgeniy Polyakov
2008-10-26  9:34                                   ` Andrew Morton
2008-10-26 10:05                                     ` Evgeniy Polyakov
2008-10-27  2:34                                       ` David Miller
2008-10-27  9:30                                         ` Ingo Molnar [this message]
2008-10-27  9:57                                           ` David Miller
2008-10-26 10:23                                 ` Mike Galbraith
2008-10-26 19:03                                 ` Jiri Kosina
2008-10-27  9:29                                   ` Mike Galbraith
2008-10-27 10:42                                   ` Jiri Kosina
2008-10-27 11:27                                     ` Ingo Molnar
2008-10-27 11:33                                       ` Alan Cox
2008-10-27 12:06                                         ` Mike Galbraith
2008-10-27 13:42                                           ` Jiri Kosina
2008-10-27 14:17                                             ` Mike Galbraith
2008-10-27 18:33                                         ` Ingo Molnar
2008-10-27 19:39                                           ` Evgeniy Polyakov
2008-10-27 19:48                                             ` David Miller
2008-10-28 10:24                                               ` Mike Galbraith
2008-10-28 10:37                                                 ` Ingo Molnar
2008-10-28 10:57                                                   ` Mike Galbraith
2008-10-28 11:02                                                     ` Ingo Molnar
2008-10-28 14:00                                                     ` Mike Galbraith
2008-10-28 15:22                                                       ` Mike Galbraith
2008-10-29  9:14                                                   ` Evgeniy Polyakov
2008-10-29  9:50                                                     ` Evgeniy Polyakov
2008-11-01 12:51                                                       ` Paolo Ciarrocchi
2008-10-29  9:59                                           ` Nick Piggin
2008-10-26  9:15                               ` Mike Galbraith
2008-10-25  7:19                     ` David Miller
2008-10-25  7:33                       ` Mike Galbraith
2008-10-27 17:26                         ` Rick Jones
2008-10-27 19:11                           ` Mike Galbraith
2008-10-27 19:18                             ` Rick Jones
2008-10-27 19:44                               ` Mike Galbraith
2008-10-26 11:29               ` Evgeniy Polyakov
2008-10-26 12:23                 ` Evgeniy Polyakov
2008-10-30 18:15                   ` Stephen Hemminger
2008-10-30 18:40                     ` Evgeniy Polyakov
2008-10-30 18:43                     ` Eric Dumazet
2008-10-30 18:56                       ` Eric Dumazet
2008-10-30 19:01                     ` Ilpo Järvinen
2008-10-31  7:52                       ` David Miller
2008-10-31  9:40                         ` Ilpo Järvinen
2008-10-31  9:51                           ` David Miller
2008-10-31 10:42                             ` Ilpo Järvinen
2008-10-31 10:45                             ` Eric Dumazet
2008-10-31 11:01                               ` Ilpo Järvinen
2008-10-31 11:10                                 ` Eric Dumazet
2008-10-31 11:15                                   ` Ilpo Järvinen
2008-10-31 19:57                               ` Stephen Hemminger
2008-10-31 20:10                                 ` Evgeniy Polyakov
2008-10-31 21:03                                   ` Eric Dumazet
2008-10-31 21:18                                     ` Evgeniy Polyakov
2008-10-31 23:51                                     ` David Miller
2008-10-31 23:56                                       ` Stephen Hemminger
2008-11-01  0:16                                         ` Jay Vosburgh
2008-11-02  4:40                                           ` David Miller
2008-11-04  2:13                                             ` [PATCH net-next-2.6] bonding, net: Move last_rx update into bonding recv logic Jay Vosburgh
2008-11-04  2:17                                               ` David Miller
2008-10-10 10:13 ` [tbench regression fixes]: digging out smelly deadmen Mike Galbraith
2008-10-11 13:13   ` Evgeniy Polyakov
2008-10-11 14:39     ` Peter Zijlstra
2008-10-11 18:13       ` Mike Galbraith
2008-10-12  6:02         ` Mike Galbraith
2008-10-12  6:33           ` Mike Galbraith

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=20081027093035.GA23743@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=efault@gmx.de \
    --cc=jkosina@suse.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rjw@sisk.pl \
    --cc=s0mbre@tservice.net.ru \
    --cc=zbr@ioremap.net \
    /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;
as well as URLs for NNTP newsgroup(s).