All of lore.kernel.org
 help / color / mirror / Atom feed
From: Juri Lelli <juri.lelli@redhat.com>
To: Waiman Long <longman@redhat.com>
Cc: Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Peter Zijlstra <peterz@infradead.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>
Subject: Re: [PATCH v8 3/6] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Thu, 24 May 2018 16:36:14 +0200	[thread overview]
Message-ID: <20180524143614.GC3948@localhost.localdomain> (raw)
In-Reply-To: <1526590545-3350-4-git-send-email-longman@redhat.com>

On 17/05/18 16:55, Waiman Long wrote:

[...]

> +	A parent cgroup cannot distribute all its CPUs to child
> +	scheduling domain cgroups unless its load balancing flag is
> +	turned off.
> +
> +  cpuset.sched.load_balance
> +	A read-write single value file which exists on non-root
> +	cpuset-enabled cgroups.  It is a binary value flag that accepts
> +	either "0" (off) or a non-zero value (on).  This flag is set
> +	by the parent and is not delegatable.
> +
> +	When it is on, tasks within this cpuset will be load-balanced
> +	by the kernel scheduler.  Tasks will be moved from CPUs with
> +	high load to other CPUs within the same cpuset with less load
> +	periodically.
> +
> +	When it is off, there will be no load balancing among CPUs on
> +	this cgroup.  Tasks will stay in the CPUs they are running on
> +	and will not be moved to other CPUs.
> +
> +	The initial value of this flag is "1".	This flag is then
> +	inherited by child cgroups with cpuset enabled.  Its state
> +	can only be changed on a scheduling domain cgroup with no
> +	cpuset-enabled children.

[...]

> +	/*
> +	 * On default hierachy, a load balance flag change is only allowed
> +	 * in a scheduling domain with no child cpuset.
> +	 */
> +	if (cgroup_subsys_on_dfl(cpuset_cgrp_subsys) && balance_flag_changed &&
> +	   (!is_sched_domain(cs) || css_has_online_children(&cs->css))) {
> +		err = -EINVAL;
> +		goto out;
> +	}

The rule is actually

 - no child cpuset
 - and it must be a scheduling domain

Right?

WARNING: multiple messages have this Message-ID (diff)
From: Juri Lelli <juri.lelli@redhat.com>
To: Waiman Long <longman@redhat.com>
Cc: Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Peter Zijlstra <peterz@infradead.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>
Subject: Re: [PATCH v8 3/6] cpuset: Add cpuset.sched.load_balance flag to v2
Date: Thu, 24 May 2018 16:36:14 +0200	[thread overview]
Message-ID: <20180524143614.GC3948@localhost.localdomain> (raw)
In-Reply-To: <1526590545-3350-4-git-send-email-longman@redhat.com>

On 17/05/18 16:55, Waiman Long wrote:

[...]

> +	A parent cgroup cannot distribute all its CPUs to child
> +	scheduling domain cgroups unless its load balancing flag is
> +	turned off.
> +
> +  cpuset.sched.load_balance
> +	A read-write single value file which exists on non-root
> +	cpuset-enabled cgroups.  It is a binary value flag that accepts
> +	either "0" (off) or a non-zero value (on).  This flag is set
> +	by the parent and is not delegatable.
> +
> +	When it is on, tasks within this cpuset will be load-balanced
> +	by the kernel scheduler.  Tasks will be moved from CPUs with
> +	high load to other CPUs within the same cpuset with less load
> +	periodically.
> +
> +	When it is off, there will be no load balancing among CPUs on
> +	this cgroup.  Tasks will stay in the CPUs they are running on
> +	and will not be moved to other CPUs.
> +
> +	The initial value of this flag is "1".	This flag is then
> +	inherited by child cgroups with cpuset enabled.  Its state
> +	can only be changed on a scheduling domain cgroup with no
> +	cpuset-enabled children.

[...]

> +	/*
> +	 * On default hierachy, a load balance flag change is only allowed
> +	 * in a scheduling domain with no child cpuset.
> +	 */
> +	if (cgroup_subsys_on_dfl(cpuset_cgrp_subsys) && balance_flag_changed &&
> +	   (!is_sched_domain(cs) || css_has_online_children(&cs->css))) {
> +		err = -EINVAL;
> +		goto out;
> +	}

The rule is actually

 - no child cpuset
 - and it must be a scheduling domain

Right?
--
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-24 14:36 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 [this message]
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
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=20180524143614.GC3948@localhost.localdomain \
    --to=juri.lelli@redhat.com \
    --cc=cgroups@vger.kernel.org \
    --cc=efault@gmx.de \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --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=peterz@infradead.org \
    --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.