All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Mike Galbraith <efault@gmx.de>
Cc: Balazs Scheidler <bazsi@balabit.hu>,
	linux-kernel@vger.kernel.org,
	Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: scheduler oddity [bug?]
Date: Sun, 8 Mar 2009 18:52:55 +0100	[thread overview]
Message-ID: <20090308175255.GA22802@elte.hu> (raw)
In-Reply-To: <1236529200.7110.16.camel@marge.simson.net>


* Mike Galbraith <efault@gmx.de> wrote:

> On Sun, 2009-03-08 at 16:39 +0100, Ingo Molnar wrote:
> > * Mike Galbraith <efault@gmx.de> wrote:
> > 
> > > The problem with your particular testcase is that while one 
> > > half has an avg_overlap (what we use as affinity hint for 
> > > synchronous wakeups) which triggers the affinity hint, the 
> > > other half has avg_overlap of zero, what it was born with, so 
> > > despite significant execution overlap, the scheduler treats 
> > > them as if they were truly synchronous tasks.
> > 
> > hm, why does it stay on zero?
> 
> Wakeup preemption.  Presuming here: heavy task wakes light 
> task, is preempted, light task stuffs data into pipe, heavy 
> task doesn't block, so no avg_overlap is ever computed.  The 
> heavy task uses 100% CPU.
> 
> Running as SCHED_BATCH (virgin source), it becomes sane.

ah.

I'd argue then that time spent on the rq preempted _should_ 
count in avg_overlap statistics. I.e. couldnt we do something 
like ... your patch? :)

> >     if (sleep && p->se.last_wakeup) {
> >             update_avg(&p->se.avg_overlap,
> >                        p->se.sum_exec_runtime - p->se.last_wakeup);
> >             p->se.last_wakeup = 0;
> > -   }
> > +   } else if (p->se.avg_overlap < limit && runtime >= limit)
> > +           update_avg(&p->se.avg_overlap, runtime);

Just done unconditionally, i.e. something like:

	if (sleep) {
		runtime = p->se.sum_exec_runtime - p->se.last_wakeup;
		p->se.last_wakeup = 0;
	} else {
		runtime = p->se.sum_exec_runtime - p->se.prev_sum_exec_runtime;
	}

	update_avg(&p->se.avg_overlap, runtime);

?

	Ingo

  reply	other threads:[~2009-03-08 17:53 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-07 17:47 scheduler oddity [bug?] Balazs Scheidler
2009-03-07 18:47 ` Balazs Scheidler
2009-03-08 19:45   ` Balazs Scheidler
2009-03-08 22:03     ` Willy Tarreau
2009-03-09  3:35       ` Mike Galbraith
2009-03-09 11:19     ` David Newall
2009-03-08  9:42 ` Mike Galbraith
2009-03-08  9:58   ` Mike Galbraith
2009-03-08 10:02     ` Mike Galbraith
2009-03-08 10:19     ` Peter Zijlstra
2009-03-08 13:35       ` Mike Galbraith
2009-03-08 15:39     ` Ingo Molnar
2009-03-08 16:20       ` Mike Galbraith
2009-03-08 17:52         ` Ingo Molnar [this message]
2009-03-08 18:39           ` Mike Galbraith
2009-03-08 18:55             ` Ingo Molnar
2009-03-09  4:10               ` Mike Galbraith
2009-03-09  6:52                 ` Ingo Molnar
2009-03-09  8:02           ` [patch] " Mike Galbraith
2009-03-09  8:07             ` Ingo Molnar
2009-03-09 10:16               ` David Newall
2009-03-09 11:04               ` Peter Zijlstra
2009-03-09 13:16                 ` Mike Galbraith
2009-03-09 13:27                   ` Peter Zijlstra
2009-03-09 13:51                     ` Mike Galbraith
2009-03-09 14:00                     ` David Newall
2009-03-09 14:19                       ` Peter Zijlstra
2009-03-10  0:20                         ` David Newall
2009-03-09 13:37                   ` Mike Galbraith
2009-03-09 13:46                     ` Peter Zijlstra
2009-03-09 13:58                       ` Mike Galbraith
2009-03-09 14:11                         ` Mike Galbraith
2009-03-09 14:41                           ` Peter Zijlstra
2009-03-09 15:30                             ` Mike Galbraith
2009-03-09 16:12                               ` Peter Zijlstra
2009-03-09 17:28                                 ` Mike Galbraith
2009-03-15 13:53                                   ` Balazs Scheidler
2009-03-15 17:16                                     ` Mike Galbraith
2009-03-15 18:57                                       ` Ingo Molnar
2009-03-16 11:55                                         ` Balazs Scheidler
2009-03-09 15:57             ` Balazs Scheidler
2009-03-10  3:16               ` 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=20090308175255.GA22802@elte.hu \
    --to=mingo@elte.hu \
    --cc=a.p.zijlstra@chello.nl \
    --cc=bazsi@balabit.hu \
    --cc=efault@gmx.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.