LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Xunlei Pang <pang.xunlei@linaro.org>
Cc: Steven Rostedt <rostedt@goodmis.org>,
	lkml <linux-kernel@vger.kernel.org>,
	Juri Lelli <juri.lelli@gmail.com>
Subject: Re: [PATCH 5/5] sched/rt: Optimize find_lowest_rq() to select a cache hot cpu
Date: Thu, 29 Jan 2015 20:23:31 +0100	[thread overview]
Message-ID: <20150129192330.GR2896@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <CADcy93X5zcw04UyW19hFSVczeT6HoGXq2poOcODmEiUw_Mab0w@mail.gmail.com>

On Fri, Jan 30, 2015 at 12:42:47AM +0800, Xunlei Pang wrote:
> On 27 January 2015 at 22:56, Steven Rostedt <rostedt@goodmis.org> wrote:
> > On Tue, 27 Jan 2015 15:21:36 +0100
> > Peter Zijlstra <peterz@infradead.org> wrote:
> >
> >> On Mon, Jan 19, 2015 at 04:49:40AM +0000, Xunlei Pang wrote:
> >> > In find_lowest_rq(), if we can't find a wake_affine cpu from
> >> > sched_domain, then we can actually determine a cache hot cpu
> >> > instead of simply calling "cpumask_any(lowest_mask)" which
> >> > always returns the first cpu in the mask.
> >> >
> >> > So, we can determine the cache hot cpu during the interation of
> >> > sched_domain() in passing.
> >>
> >> Steve, I'm not getting this. Why are we using WAKE_AFFINE here?
> >>
> >
> > It originated from Gregory Haskins topology patches. See
> >  6e1254d2c41215da27025add8900ed187bca121d
> 
> Hi Peter, Steve,
> 
> I think the responsiveness is the most important feature for RT tasks,
> so I think:
> response latency > cache > SMT in significance.

No, deterministic execution time is the utmost important feature. And
for that SMT utterly blows. So much so in fact that rule #1 for -rt work
is to disable SMT on your hardware.

The same argument can be made for shared caches. If your !rt workload
blows away the cache of the rt workload, you loose.

> I was wondering if we can take the cpuidle state into account like
> current find_idlest_cpu() for CFS?
> cpupri_find() can be easily modified to indicate the CPUPRI_IDLE case,
> then we can select
> an optimal idle cpu to improve RT tasks' responsiveness. For other
> cases(mostly non-idle cpu),
> I think we can rely on the existent sched_domain iteraction to select
> a cache-hot cpu without
> caring too much about SMT.

your patch calls something 'cache-hot' when crossing large numa domains,
don't you think that's somewhat stretching the definition of hot?

  parent reply	other threads:[~2015-01-29 19:23 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-19  4:49 [PATCH 1/5] sched/deadline: Modify cpudl::free_cpus to reflect rd->online Xunlei Pang
2015-01-19  4:49 ` [PATCH 2/5] sched/deadline: Remove cpu_active_mask from cpudl_find() Xunlei Pang
2015-01-27 15:04   ` Peter Zijlstra
2015-02-04 14:36   ` [tip:sched/core] " tip-bot for Xunlei Pang
2015-01-19  4:49 ` [PATCH 3/5] sched/deadline: Fix wrong cpudl_find() in check_preempt_equal_dl() Xunlei Pang
2015-01-27 12:48   ` Peter Zijlstra
2015-01-27 14:15     ` Peter Zijlstra
2015-01-27 16:47   ` Peter Zijlstra
2015-01-28 15:18     ` Xunlei Pang
2015-01-19  4:49 ` [PATCH 4/5] sched/rt: Consider deadline tasks in cpupri_find() Xunlei Pang
2015-01-27 12:58   ` Peter Zijlstra
2015-01-27 14:18     ` Peter Zijlstra
2015-01-27 23:04     ` Steven Rostedt
2015-01-28 15:21       ` Xunlei Pang
2015-01-19  4:49 ` [PATCH 5/5] sched/rt: Optimize find_lowest_rq() to select a cache hot cpu Xunlei Pang
2015-01-27 14:21   ` Peter Zijlstra
2015-01-27 14:56     ` Steven Rostedt
2015-01-27 16:28       ` Peter Zijlstra
2015-01-29 16:42       ` Xunlei Pang
2015-01-29 17:17         ` Steven Rostedt
2015-01-29 19:23         ` Peter Zijlstra [this message]
2015-02-04 13:07           ` Xunlei Pang
2015-01-23 18:09 ` [PATCH 1/5] sched/deadline: Modify cpudl::free_cpus to reflect rd->online Xunlei Pang
2015-02-01 17:53 ` [tip:sched/core] sched/deadline: Modify cpudl:: free_cpus " tip-bot for Xunlei Pang

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=20150129192330.GR2896@worktop.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=juri.lelli@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pang.xunlei@linaro.org \
    --cc=rostedt@goodmis.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;
as well as URLs for NNTP newsgroup(s).