All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Waiman Long <longman@redhat.com>
Cc: Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Ingo Molnar <mingo@redhat.com>,
	cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, kernel-team@fb.com, pjt@google.com,
	luto@amacapital.net, Mike Galbraith <efault@gmx.de>,
	torvalds@linux-foundation.org, Roman Gushchin <guro@fb.com>,
	Juri Lelli <juri.lelli@redhat.com>
Subject: Re: [PATCH v8 3/6] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Mon, 28 May 2018 14:45:08 +0200	[thread overview]
Message-ID: <20180528124508.GE3452@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <9f547771-54e8-118e-80f7-48f99c7b0a12@redhat.com>

On Thu, May 24, 2018 at 02:55:25PM -0400, Waiman Long wrote:
> On 05/24/2018 11:43 AM, Peter Zijlstra wrote:

> > I'm confused... why exactly do we have both domain and load_balance ?
> 
> The domain is for partitioning the CPUs only. It doesn't change the load
> balancing state. So the load_balance flag is still need to turn on and
> off load balancing.

OK, so we have to two boolean flags, giving 4 possible states. Lets just
go through them one by on:

A) domain:0 load_balance:0 -- we have no exclusive domain, but have
   load-balancing disabled across them. AFAICT this should be an invalid
   state.

B) domain:0 load_balance:1 -- we have no exclusive domain, but have
   load-balancing enabled. AFAICT this is the default state and is a
   no-op.

C) domain:1 load_balance:0 -- we have an exclusive domain, and have
   load-balancing disabled across it. This is, AFAICT, identical to
   having a bunch of sub/sibling groups each with a single CPU domain.

D) domain:1 load_balance:1 -- we have an exclusive domain, and have
   load-balancing enabled. This is a partition.

Now, I think I've overlooked the fact that load_balance==1 only really
means something when the parent's load_balance==0, but I'm not sure that
really changes anything.

So, afaict, the above only have two useful states: B and D. Which again
raises the question, why two knobs? What useful configurations does it
allow?

WARNING: multiple messages have this Message-ID (diff)
From: Peter Zijlstra <peterz@infradead.org>
To: Waiman Long <longman@redhat.com>
Cc: Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Ingo Molnar <mingo@redhat.com>,
	cgroups@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-doc@vger.kernel.org, kernel-team@fb.com, pjt@google.com,
	luto@amacapital.net, Mike Galbraith <efault@gmx.de>,
	torvalds@linux-foundation.org, Roman Gushchin <guro@fb.com>,
	Juri Lelli <juri.lelli@redhat.com>
Subject: Re: [PATCH v8 3/6] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Mon, 28 May 2018 14:45:08 +0200	[thread overview]
Message-ID: <20180528124508.GE3452@worktop.programming.kicks-ass.net> (raw)
In-Reply-To: <9f547771-54e8-118e-80f7-48f99c7b0a12@redhat.com>

On Thu, May 24, 2018 at 02:55:25PM -0400, Waiman Long wrote:
> On 05/24/2018 11:43 AM, Peter Zijlstra wrote:

> > I'm confused... why exactly do we have both domain and load_balance ?
> 
> The domain is for partitioning the CPUs only. It doesn't change the load
> balancing state. So the load_balance flag is still need to turn on and
> off load balancing.

OK, so we have to two boolean flags, giving 4 possible states. Lets just
go through them one by on:

A) domain:0 load_balance:0 -- we have no exclusive domain, but have
   load-balancing disabled across them. AFAICT this should be an invalid
   state.

B) domain:0 load_balance:1 -- we have no exclusive domain, but have
   load-balancing enabled. AFAICT this is the default state and is a
   no-op.

C) domain:1 load_balance:0 -- we have an exclusive domain, and have
   load-balancing disabled across it. This is, AFAICT, identical to
   having a bunch of sub/sibling groups each with a single CPU domain.

D) domain:1 load_balance:1 -- we have an exclusive domain, and have
   load-balancing enabled. This is a partition.

Now, I think I've overlooked the fact that load_balance==1 only really
means something when the parent's load_balance==0, but I'm not sure that
really changes anything.

So, afaict, the above only have two useful states: B and D. Which again
raises the question, why two knobs? What useful configurations does it
allow?
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2018-05-28 12:45 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-17 20:55 [PATCH v8 0/6] Enable cpuset controller in default hierarchy Waiman Long
2018-05-17 20:55 ` Waiman Long
2018-05-17 20:55 ` [PATCH v8 1/6] cpuset: " Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-21 11:55   ` Patrick Bellasi
2018-05-21 11:55     ` Patrick Bellasi
2018-05-21 13:55     ` Waiman Long
2018-05-21 13:55       ` Waiman Long
2018-05-21 15:09       ` Patrick Bellasi
2018-05-21 15:09         ` Patrick Bellasi
2018-05-21 16:10         ` Waiman Long
2018-05-21 16:10           ` Waiman Long
2018-05-17 20:55 ` [PATCH v8 2/6] cpuset: Add new v2 cpuset.sched.domain flag Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-22 12:57   ` Juri Lelli
2018-05-22 12:57     ` Juri Lelli
2018-05-22 13:20     ` Waiman Long
2018-05-22 13:20       ` Waiman Long
2018-05-29  0:55     ` Waiman Long
2018-05-29  0:55       ` Waiman Long
2018-05-24 15:41   ` Peter Zijlstra
2018-05-24 15:41     ` Peter Zijlstra
2018-05-24 18:53     ` Waiman Long
2018-05-24 18:53       ` Waiman Long
2018-05-25  7:15       ` Peter Zijlstra
2018-05-25  7:15         ` Peter Zijlstra
2018-05-17 20:55 ` [PATCH v8 3/6] cpuset: Add cpuset.sched.load_balance flag to v2 Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-24 14:36   ` Juri Lelli
2018-05-24 14:36     ` Juri Lelli
2018-05-24 15:09     ` Waiman Long
2018-05-24 15:09       ` Waiman Long
2018-05-24 15:16       ` Juri Lelli
2018-05-24 15:16         ` Juri Lelli
2018-05-24 15:22         ` Waiman Long
2018-05-24 15:22           ` Waiman Long
2018-05-25  9:40           ` Patrick Bellasi
2018-05-25  9:40             ` Patrick Bellasi
2018-05-25 14:45             ` Waiman Long
2018-05-25 14:45               ` Waiman Long
2018-05-24 15:43   ` Peter Zijlstra
2018-05-24 15:43     ` Peter Zijlstra
2018-05-24 18:55     ` Waiman Long
2018-05-24 18:55       ` Waiman Long
2018-05-28 12:45       ` Peter Zijlstra [this message]
2018-05-28 12:45         ` Peter Zijlstra
2018-05-28 18:31         ` Waiman Long
2018-05-28 18:31           ` Waiman Long
2018-05-17 20:55 ` [PATCH v8 4/6] cpuset: Make generate_sched_domains() recognize isolated_cpus Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-23 17:34   ` Patrick Bellasi
2018-05-23 17:34     ` Patrick Bellasi
2018-05-23 20:18     ` Waiman Long
2018-05-23 20:18       ` Waiman Long
2018-05-24  9:04       ` Patrick Bellasi
2018-05-24  9:04         ` Patrick Bellasi
2018-05-24  9:04         ` Patrick Bellasi
2018-05-24 10:39         ` Juri Lelli
2018-05-24 10:39           ` Juri Lelli
2018-05-25 10:31           ` Patrick Bellasi
2018-05-25 10:31             ` Patrick Bellasi
2018-05-25 12:52             ` Juri Lelli
2018-05-25 12:52               ` Juri Lelli
2018-05-24 10:28   ` Juri Lelli
2018-05-24 10:28     ` Juri Lelli
2018-05-29  1:12     ` Waiman Long
2018-05-29  1:12       ` Waiman Long
2018-05-29  1:24       ` Waiman Long
2018-05-29  1:24         ` Waiman Long
2018-05-29  6:27         ` Juri Lelli
2018-05-29  6:27           ` Juri Lelli
2018-05-29 12:40           ` Waiman Long
2018-05-29 12:40             ` Waiman Long
2018-05-29 13:12             ` Juri Lelli
2018-05-29 13:12               ` Juri Lelli
2018-05-17 20:55 ` [PATCH v8 5/6] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-17 20:55 ` [PATCH v8 6/6] cpuset: Allow reporting of sched domain generation info Waiman Long
2018-05-17 20:55   ` Waiman Long
2018-05-22 13:53   ` Juri Lelli
2018-05-22 13:53     ` Juri Lelli
2018-05-29  1:04     ` Waiman Long
2018-05-29  1:04       ` Waiman Long

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=20180528124508.GE3452@worktop.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=cgroups@vger.kernel.org \
    --cc=efault@gmx.de \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=juri.lelli@redhat.com \
    --cc=kernel-team@fb.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=longman@redhat.com \
    --cc=luto@amacapital.net \
    --cc=mingo@redhat.com \
    --cc=pjt@google.com \
    --cc=tj@kernel.org \
    --cc=torvalds@linux-foundation.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.