All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Chen Yu <yu.c.chen@intel.com>
Cc: oe-lkp@lists.linux.dev, lkp@intel.com,
	Oliver Sang <oliver.sang@intel.com>,
	Chen Yu <yu.chen.surf@gmail.com>, Ingo Molnar <mingo@kernel.org>
Subject: Re: [peterz-queue:sched/eevdf] [sched/fair]  23669fce72: aim7.jobs-per-min -18.6% regression
Date: Mon, 27 Mar 2023 17:30:13 +0200	[thread overview]
Message-ID: <20230327153013.GD11425@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <ZCGfZdrM0XIZjx18@chenyu5-mobl1>

On Mon, Mar 27, 2023 at 09:51:33PM +0800, Chen Yu wrote:
> On 2023-03-26 at 13:00:24 +0200, Peter Zijlstra wrote:

> > That is, the parent is always running, while the child is blocking.
> > Consider the parent 100% running and the child 50%, then a truely fair
> > scheduler will make it 67% vs 33% runtime -- this is what EEVDF does
> > now. And as you can see, since the child gets less runtime, the counter
> > increases less and the benchmark drops.
> >
> Does the 67% vs 33% comes from the lag placement but not from
> the deadline pick policy?  Because the 'lag' remains consistent during
> task migration across several CPUs. So no matter how long the task sleeps,
> it only gets the time slice it deserved to run after migation and gets no
> sleep bonus?

Yeah, the 67%/33% thing is not due to the deadlines, it really is just
the virtual time thing -- we could make CFS do that too. 

But the bonus placement does wreck the deadline part :/

Much of these patches is more than 10 years old, back then I didn't
think I'd get away with the added 64bit math and the augmented rb tree
(we still cared about 32bit performance and all that). Perhaps I should
have spend more time finishing it back then, alas..

> > CFS has sleeper bonus, which gives (short) blocking tasks a small
> > advantage to make it 50% vs 50%. And if you compute the drop from 50% to
> > 33% then you get -33% and that's exactly the drop you see around the
> > 100% case.
> It seems that EEVDF is actually the real 'CFS' : )

Yeah, the 'completely' part of the name never made much sense to me, but
alas. Note that even EEVDF is known deficient in a number of cases,
particularly SMP, our load-balancer leaves a number of things to be
desired.

It's all a cost/performance tradeoff I suppose.



      reply	other threads:[~2023-03-27 15:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20  7:46 [peterz-queue:sched/eevdf] [sched/fair] 23669fce72: aim7.jobs-per-min -18.6% regression kernel test robot
2023-03-20  7:58 ` Peter Zijlstra
2023-03-21  7:46   ` Oliver Sang
2023-03-21  8:04     ` Chen Yu
2023-03-21  9:03       ` Peter Zijlstra
2023-03-23 12:23         ` Chen Yu
2023-03-23 15:30           ` Peter Zijlstra
2023-03-26 11:00           ` Peter Zijlstra
2023-03-26 13:38             ` Peter Zijlstra
2023-03-27 13:39               ` Chen Yu
2023-03-27 15:18                 ` Peter Zijlstra
2023-03-27 13:51             ` Chen Yu
2023-03-27 15: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=20230327153013.GD11425@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=lkp@intel.com \
    --cc=mingo@kernel.org \
    --cc=oe-lkp@lists.linux.dev \
    --cc=oliver.sang@intel.com \
    --cc=yu.c.chen@intel.com \
    --cc=yu.chen.surf@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 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.