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>,
	Patrick Bellasi <patrick.bellasi@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v9 3/7] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Thu, 31 May 2018 17:20:50 +0200	[thread overview]
Message-ID: <20180531152050.GK12180@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <42cc1f44-2355-1c0c-b575-49c863303c42@redhat.com>

On Thu, May 31, 2018 at 09:54:27AM -0400, Waiman Long wrote:
> On 05/31/2018 08:26 AM, Peter Zijlstra wrote:

> > I still find all that a bit weird.
> >
> > So load_balance=0 basically changes a partition into a
> > 'fully-partitioned partition' with the seemingly random side-effect that
> > now sub-partitions are allowed to consume all CPUs.
> 
> Are you suggesting that we should allow sub-partition to consume all the
> CPUs no matter the load balance state? I can live with that if you think
> it is more logical.

I'm on the fence myself; the only thing I'm fairly sure of is that tying
this particular behaviour to the load-balance knob seems off.

> > The rationale, only given in the Changelog above, seems to be to allow
> > 'easy' emulation of isolcpus.
> >
> > I'm still not convinced this is a useful knob to have. You can do
> > fully-partitioned by simply creating a lot of 1 cpu parititions.
> 
> That is certainly true. However, I think there are some additional
> overhead in the scheduler side in maintaining those 1-cpu partitions. Right?

cpuset-controller as such doesn't have much overhead scheduler wise,
cpu-controller OTOH does, and there depth is the predominant factor, so
many sibling groups should not matter there either.

> > So this one knob does two separate things, both of which seem, to me,
> > redundant.
> >
> > Can we please get better rationale for this?
> 
> I am fine getting rid of the load_balance flag if this is the consensus.
> However, we do need to come up with a good migration story for those
> users that need the isolcpus capability. I think Mike was the one asking
> for supporting isolcpus. So Mike, what is your take on that.

So I don't strictly mind having a knob that does the 'fully-partitioned
partition' thing -- however odd that sounds -- but I feel we should have
a solid use-case for it.

I also think we should not mix the 'consume all' thing with the
'fully-partitioned' thing, as they are otherwise unrelated.

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>,
	Patrick Bellasi <patrick.bellasi@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>
Subject: Re: [PATCH v9 3/7] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Thu, 31 May 2018 17:20:50 +0200	[thread overview]
Message-ID: <20180531152050.GK12180@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <42cc1f44-2355-1c0c-b575-49c863303c42@redhat.com>

On Thu, May 31, 2018 at 09:54:27AM -0400, Waiman Long wrote:
> On 05/31/2018 08:26 AM, Peter Zijlstra wrote:

> > I still find all that a bit weird.
> >
> > So load_balance=0 basically changes a partition into a
> > 'fully-partitioned partition' with the seemingly random side-effect that
> > now sub-partitions are allowed to consume all CPUs.
> 
> Are you suggesting that we should allow sub-partition to consume all the
> CPUs no matter the load balance state? I can live with that if you think
> it is more logical.

I'm on the fence myself; the only thing I'm fairly sure of is that tying
this particular behaviour to the load-balance knob seems off.

> > The rationale, only given in the Changelog above, seems to be to allow
> > 'easy' emulation of isolcpus.
> >
> > I'm still not convinced this is a useful knob to have. You can do
> > fully-partitioned by simply creating a lot of 1 cpu parititions.
> 
> That is certainly true. However, I think there are some additional
> overhead in the scheduler side in maintaining those 1-cpu partitions. Right?

cpuset-controller as such doesn't have much overhead scheduler wise,
cpu-controller OTOH does, and there depth is the predominant factor, so
many sibling groups should not matter there either.

> > So this one knob does two separate things, both of which seem, to me,
> > redundant.
> >
> > Can we please get better rationale for this?
> 
> I am fine getting rid of the load_balance flag if this is the consensus.
> However, we do need to come up with a good migration story for those
> users that need the isolcpus capability. I think Mike was the one asking
> for supporting isolcpus. So Mike, what is your take on that.

So I don't strictly mind having a knob that does the 'fully-partitioned
partition' thing -- however odd that sounds -- but I feel we should have
a solid use-case for it.

I also think we should not mix the 'consume all' thing with the
'fully-partitioned' thing, as they are otherwise unrelated.
--
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-31 15:21 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-29 13:41 [PATCH v9 0/7] Enable cpuset controller in default hierarchy Waiman Long
2018-05-29 13:41 ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 1/7] cpuset: " Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 2/7] cpuset: Add new v2 cpuset.sched.domain_root flag Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-30 14:18   ` Juri Lelli
2018-05-30 14:18     ` Juri Lelli
2018-05-30 14:57     ` Waiman Long
2018-05-30 14:57       ` Waiman Long
2018-05-31  9:49   ` Peter Zijlstra
2018-05-31  9:49     ` Peter Zijlstra
2018-05-29 13:41 ` [PATCH v9 3/7] cpuset: Add cpuset.sched.load_balance flag to v2 Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-31 10:44   ` Peter Zijlstra
2018-05-31 10:44     ` Peter Zijlstra
2018-05-31 10:54   ` Peter Zijlstra
2018-05-31 10:54     ` Peter Zijlstra
2018-05-31 13:36     ` Waiman Long
2018-05-31 13:36       ` Waiman Long
2018-05-31 12:26   ` Peter Zijlstra
2018-05-31 12:26     ` Peter Zijlstra
2018-05-31 13:54     ` Waiman Long
2018-05-31 13:54       ` Waiman Long
2018-05-31 15:20       ` Peter Zijlstra [this message]
2018-05-31 15:20         ` Peter Zijlstra
2018-05-31 15:36         ` Waiman Long
2018-05-31 15:36           ` Waiman Long
2018-05-31 16:08           ` Peter Zijlstra
2018-05-31 16:08             ` Peter Zijlstra
2018-05-31 16:42             ` Waiman Long
2018-05-31 16:42               ` Waiman Long
2018-06-20 14:46               ` Peter Zijlstra
2018-06-20 14:46                 ` Peter Zijlstra
2018-06-21  7:40                 ` Waiman Long
2018-06-21  7:40                   ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 4/7] cpuset: Make generate_sched_domains() recognize isolated_cpus Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 5/7] cpuset: Expose cpus.effective and mems.effective on cgroup v2 root Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 6/7] cpuset: Don't rebuild sched domains if cpu changes in non-domain root Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-29 13:41 ` [PATCH v9 7/7] cpuset: Allow reporting of sched domain generation info Waiman Long
2018-05-29 13:41   ` Waiman Long
2018-05-30 10:13 ` [PATCH v9 0/7] Enable cpuset controller in default hierarchy Juri Lelli
2018-05-30 10:13   ` Juri Lelli
2018-05-30 12:56   ` Waiman Long
2018-05-30 12:56     ` Waiman Long
2018-05-30 13:05     ` Juri Lelli
2018-05-30 13:05       ` Juri Lelli
2018-05-30 13:47       ` Waiman Long
2018-05-30 13:47         ` Waiman Long
2018-05-30 13:52         ` Juri Lelli
2018-05-30 13:52           ` Juri Lelli

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=20180531152050.GK12180@hirez.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=patrick.bellasi@arm.com \
    --cc=pjt@google.com \
    --cc=tglx@linutronix.de \
    --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.