public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Josef Bacik <jbacik@fb.com>
Cc: bmaurer@fb.com, rkroll@fb.com, kernel-team@fb.com,
	mingo@redhat.com, linux-kernel@vger.kernel.org,
	umgwanakikbuti@gmail.com, avagin@openvz.org, rostedt@goodmis.org
Subject: Re: [PATCH] sched/fair: change where we report sched stats V2
Date: Mon, 15 Dec 2014 18:30:16 +0100	[thread overview]
Message-ID: <20141215173016.GN10476@twins.programming.kicks-ass.net> (raw)
In-Reply-To: <20141215172129.GS3337@twins.programming.kicks-ass.net>

On Mon, Dec 15, 2014 at 06:21:29PM +0100, Peter Zijlstra wrote:
> On Mon, Dec 15, 2014 at 10:37:09AM -0500, Josef Bacik wrote:
> 
> > >Yeah, so I don't like this, it adds overhead for everyone.
> > >
> > 
> > Only if SCHEDSTATS is enabled tho, and it's no more overhead in the
> > SCHEDSTATS case than before.  Would it be more acceptable to move the entire
> > callback under SCHEDSTATS?
> 
> Nah, doesn't work. Distros need to enable the world and then some so
> .config is a false choice.
> 
> > This is fine for discrete problems, but when trying to find a random latency
> > spike in a production workload it's impossible. If I do
> > 
> > trace-cmd record -e sched:sched_switch -T sleep 5
> > 
> > on just one of our random web servers I end up with this
> > 
> > du -h trace.dat
> > 62M     trace.dat
> > 
> > thats 62 megs in 5 seconds.  I ran the following command for almost 2 hours
> > when searching for a latency spike
> > 
> > trace-cmd record -B latency -e sched:sched_stat_blocked -f \"delay >=
> > 100000\" -T -o /root/latency.dat
> > 
> > and got the following .dat file
> > 
> > du -h latency.dat
> > 48M     latency.dat
> 
> Ah, regardless what I think of our filter implementation, that actually
> makes sense, let me ponder this a bit.

Oh, I just remembered we 'fixed' this for perf, see commit:

  e6dab5ffab59 ("perf/trace: Add ability to set a target task for events")

I'm not sure how to do the same thing with ftrace though, maybe steve
knows.

The thing is, at wakeup time we know the task we're waking, so we pass
that task along and provide a trace for that instead of current. Andrew
(who implemented it might have some userspace to share).

      reply	other threads:[~2014-12-15 17:30 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-11 15:59 [PATCH] sched/fair: change where we report sched stats V2 Josef Bacik
2014-12-15 10:16 ` Peter Zijlstra
2014-12-15 15:37   ` Josef Bacik
2014-12-15 17:21     ` Peter Zijlstra
2014-12-15 17:30       ` Peter Zijlstra [this message]

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=20141215173016.GN10476@twins.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=avagin@openvz.org \
    --cc=bmaurer@fb.com \
    --cc=jbacik@fb.com \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=rkroll@fb.com \
    --cc=rostedt@goodmis.org \
    --cc=umgwanakikbuti@gmail.com \
    /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