memcg requires the cgroup id to be smaller than 65536.
This is a preparation to kill css id.
Signed-off-by: Li Zefan lize...@huawei.com
Acked-by: Michal Hocko mho...@suse.cz
---
mm/memcontrol.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index
The only user of css_id was memcg, and it has been convered to use
cgroup-id, so kill css_id.
Signed-off-by: Li Zefan lize...@huwei.com
Reviewed-by: Michal Hocko mho...@suse.cz
Acked-by: Tejun Heo t...@kernel.org
---
include/linux/cgroup.h | 37
kernel/cgroup.c| 248
Commit-ID: cd64647f043e3fd3569bcf068f47f030198ff93a
Gitweb: http://git.kernel.org/tip/cd64647f043e3fd3569bcf068f47f030198ff93a
Author: Li Zefan lize...@huawei.com
AuthorDate: Mon, 23 Sep 2013 16:43:58 +0800
Committer: Ingo Molnar mi...@kernel.org
CommitDate: Mon, 23 Sep 2013 11:10:49
On 2013/9/23 21:12, Tejun Heo wrote:
On Mon, Sep 23, 2013 at 09:08:16AM -0400, Tejun Heo wrote:
Hello,
On Mon, Sep 23, 2013 at 04:55:20PM +0800, Li Zefan wrote:
The whole patchset has been acked and reviewed by Michal and Tejun.
Could you merge it into mm tree?
Ah... I really hoped
d() function calling set_mems_allowed
> with irqs enabled. While its possibly unlikely for the actual deadlock
> to trigger, a fix is fairly simple: disable irqs before taking the
> mems_allowed_seq lock.
>
Now I get it. I'm fine with this change.
Acked-by: Li Zefan
> Let me know
ters
> and there may be more edge cases.
>
> Comments and feedback would be appreciated!
>
Could you describe how seqlocks/seqcounts can lead to deadlock in the
changelog?
> Cc: Mathieu Desnoyers
> Cc: Li Zefan
> Cc: Steven Rostedt
> Cc: Peter Zijlstra
> Cc: Ingo Molna
>> On 2013/9/14 10:47, Li Zefan wrote:
>>> As sysctl_hung_task_check_count is unsigned long, when this value is
>>> assigned to max_count in check_hung_uninterruptible_tasks(), it's
>>> truncated to int type.
>>>
>>> Therefore if we wr
On 2013/9/14 10:47, Li Zefan wrote:
As sysctl_hung_task_check_count is unsigned long, when this value is
assigned to max_count in check_hung_uninterruptible_tasks(), it's
truncated to int type.
Therefore if we write 2^32 to sysctl.hung_task_check_count, hung task
detection
would be appreciated!
Could you describe how seqlocks/seqcounts can lead to deadlock in the
changelog?
Cc: Mathieu Desnoyers mathieu.desnoy...@efficios.com
Cc: Li Zefan lize...@huawei.com
Cc: Steven Rostedt rost...@goodmis.org
Cc: Peter Zijlstra pet...@infradead.org
Cc: Ingo Molnar mi
calling set_mems_allowed
with irqs enabled. While its possibly unlikely for the actual deadlock
to trigger, a fix is fairly simple: disable irqs before taking the
mems_allowed_seq lock.
Now I get it. I'm fine with this change.
Acked-by: Li Zefan lize...@huawei.com
Let me know if you have
Cc: Ingo, as this touched include/linux/sched/.
On 2013/9/14 10:47, Li Zefan wrote:
> As sysctl_hung_task_check_count is unsigned long, when this value is
> assigned to max_count in check_hung_uninterruptible_tasks(), it's
> truncated to int type.
>
> Therefore i
it's better to fix this inconsistency.
Signed-off-by: Li Zefan
---
include/linux/sched/sysctl.h | 2 +-
kernel/hung_task.c | 2 +-
kernel/sysctl.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/linux/sched/sysctl.h b/include/linux/sched
it's better to fix this inconsistency.
Signed-off-by: Li Zefan lize...@huawei.com
---
include/linux/sched/sysctl.h | 2 +-
kernel/hung_task.c | 2 +-
kernel/sysctl.c | 4 ++--
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/include/linux/sched/sysctl.h b/include
Cc: Ingo, as this touched include/linux/sched/.
On 2013/9/14 10:47, Li Zefan wrote:
As sysctl_hung_task_check_count is unsigned long, when this value is
assigned to max_count in check_hung_uninterruptible_tasks(), it's
truncated to int type.
Therefore if we write 2^32
requiring those
statistics, I just add WARN_ON for those cases.
Cc: # 3.2+
Signed-off-by: Li Zefan
---
mm/slub.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/mm/slub.c b/mm/slub.c
index e3ba1f2..6ea461d 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -4300,7 +4300,13 @
statistics, I just add WARN_ON for those cases.
Cc: sta...@vger.kernel.org # 3.2+
Signed-off-by: Li Zefan lize...@huawei.com
---
mm/slub.c | 8 +++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/mm/slub.c b/mm/slub.c
index e3ba1f2..6ea461d 100644
--- a/mm/slub.c
+++ b/mm/slub.c
up_subsys_state-creation-into-.patch
> 0008-cgroup-implement-for_each_css.patch
> 0009-cgroup-remove-for_each_root_subsys.patch
>
Acked-by: Li Zefan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.
-for_each_css.patch
0009-cgroup-remove-for_each_root_subsys.patch
Acked-by: Li Zefan lize...@huawei.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please
Please don't. Pure colding style cleanup is discouraged.
You're not going to run checkpatch.pl on the whole kernel tree and fix
all the complaints, are you?
On 2013/9/3 16:29, Chen Gang wrote:
> For 'switch case', remove redundancy '\t' (also can let related lines
> within 80 columns) and remove
Please don't. Pure colding style cleanup is discouraged.
You're not going to run checkpatch.pl on the whole kernel tree and fix
all the complaints, are you?
On 2013/9/3 16:29, Chen Gang wrote:
For 'switch case', remove redundancy '\t' (also can let related lines
within 80 columns) and remove
On 2013/8/29 5:03, Tejun Heo wrote:
> ae7f164a09 ("cgroup: move cgroup->subsys[] assignment to
> online_css()") moved cgroup->subsys[] assignements later in
> cgroup_create() but didn't update error handling path accordingly
> leaking later css's after an online_css() failure.
>
> This patch
On 2013/8/29 5:03, Tejun Heo wrote:
ae7f164a09 (cgroup: move cgroup-subsys[] assignment to
online_css()) moved cgroup-subsys[] assignements later in
cgroup_create() but didn't update error handling path accordingly
leaking later css's after an online_css() failure.
This patch moves
Hi David,
On 2013/8/22 16:23, David Miller wrote:
> From: Jesper Dangaard Brouer
> Date: Thu, 22 Aug 2013 10:04:26 +0200
>
>> So, for future reference:
>>
>> Stable patches for the networking tree, I should:
>> 1) check http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
>>to see if my
Hi David,
On 2013/8/22 16:23, David Miller wrote:
> From: Jesper Dangaard Brouer
> Date: Thu, 22 Aug 2013 10:04:26 +0200
>
>> So, for future reference:
>>
>> Stable patches for the networking tree, I should:
>> 1) check http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
>>to see if my
On 2013/8/21 22:20, Tejun Heo wrote:
> On Wed, Aug 21, 2013 at 06:01:32PM +0800, Li Zefan wrote:
>> {
>> +.name = "effective_cpus",
>> +.flags = CFTYPE_SANE,
>> +.read = cpuset_common_file_read,
>> +
On 2013/8/21 22:18, Tejun Heo wrote:
> Hello,
>
> On Wed, Aug 21, 2013 at 06:01:21PM +0800, Li Zefan wrote:
>> -if (!cpumask_subset(trialcs->cpus_allowed, cpu_active_mask))
>> +if (!cpumask_subs
On 2013/8/21 22:08, Tejun Heo wrote:
> On Wed, Aug 21, 2013 at 06:00:42PM +0800, Li Zefan wrote:
>> @@ -2261,7 +2271,8 @@ static void cpuset_hotplug_workfn(struct work_struct
>> *work)
>> /* synchronize mems_allowed to N_MEMORY */
>> if (mems_updated) {
>&g
On 2013/8/21 22:08, Tejun Heo wrote:
On Wed, Aug 21, 2013 at 06:00:42PM +0800, Li Zefan wrote:
@@ -2261,7 +2271,8 @@ static void cpuset_hotplug_workfn(struct work_struct
*work)
/* synchronize mems_allowed to N_MEMORY */
if (mems_updated) {
mutex_lock(callback_mutex
On 2013/8/21 22:18, Tejun Heo wrote:
Hello,
On Wed, Aug 21, 2013 at 06:01:21PM +0800, Li Zefan wrote:
-if (!cpumask_subset(trialcs-cpus_allowed, cpu_active_mask))
+if (!cpumask_subset(trialcs-cpus_allowed,
+top_cpuset.cpus_allowed
On 2013/8/21 22:20, Tejun Heo wrote:
On Wed, Aug 21, 2013 at 06:01:32PM +0800, Li Zefan wrote:
{
+.name = effective_cpus,
+.flags = CFTYPE_SANE,
+.read = cpuset_common_file_read,
+.max_write_len = (100U + 6 * NR_CPUS
Hi David,
On 2013/8/22 16:23, David Miller wrote:
From: Jesper Dangaard Brouer bro...@redhat.com
Date: Thu, 22 Aug 2013 10:04:26 +0200
So, for future reference:
Stable patches for the networking tree, I should:
1) check http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
to see
Hi David,
On 2013/8/22 16:23, David Miller wrote:
From: Jesper Dangaard Brouer bro...@redhat.com
Date: Thu, 22 Aug 2013 10:04:26 +0200
So, for future reference:
Stable patches for the networking tree, I should:
1) check http://patchwork.ozlabs.org/bundle/davem/stable/?state=*
to see
-by: Li Zefan
---
kernel/cpuset.c | 36 ++--
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index c302979..a4f3483 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1583,6 +1583,8 @@ typedef enum
and initializes the effective masks. The effective
masks of the top cpuset is the same with configured masks, and a child
cpuset inherites its parent's effective masks.
This won't introduce behavior change.
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 57
As the configured masks won't be limited by its parent, and the top
cpuset's masks won't change when hotplug happens, it's natural to
allow writing offlined masks to the configured masks.
Signed-off-by; Li Zefan
---
kernel/cpuset.c | 7 ---
1 file changed, 4 insertions(+), 3 deletions
pus
0-1
And cpuset will bring it back to the effective mask.
This is a behavior change for sane_behavior.
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 140 +++-
1 file changed, 77 insertions(+), 63 deletions(-)
diff --git a/kernel/cpuset.c b/kernel
Now we can use cs->real{cpus,mems}_allowed as effective masks. It's
used whenever:
- we update tasks' cpus_allowed/mems_allowed,
- we want to retrieve tasks_cs(tsk)'s cpus_allowed/mems_allowed.
They actually replace effective_{cpu,node}mask_cpuset().
Signed-off-by: Li Zefan
---
ker
We're going to have separate user-configured masks and effective ones,
and configured masks won't be restricted by the parent, so we should
use effective masks to build sched domains.
This won't introduce behavior change.
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 19 ---
1
its parent's masks.
This behavior change won't take effect unless mount with sane_behavior.
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 33 ++---
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index e7ad4a7..c3a0
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: done
- take on ancestor's mask when the effective mask is empty: done
This won't introduce behavior change.
Signed-off-by: Li
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: done
- take on ancestor's mask when the effective mask is empty: todo
This won't introduce behavior change.
Signed-off-by: Li
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: todo
- take on ancestor's mask when the effective mask is empty: todo
This won't introduce behavior change.
Signed-off-by: Li
So we can add new cgroupfs interfaces for sane_behavior only.
Signed-off-by: Li Zefan
---
include/linux/cgroup.h | 1 +
kernel/cgroup.c| 2 ++
2 files changed, 3 insertions(+)
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 3aac34d..7ba7764 100644
--- a/include/linux
is onlined, it will be brought back to the effective masks
if it's in the configured masks.
- We build sched domains based on effective cpumask but not configured cpumask.
Li Zefan (11):
cgroup: allow subsystems to create files for sane_behavior only
cpuset: add cs->real_cpus_allowed and
So we can add new cgroupfs interfaces for sane_behavior only.
Signed-off-by: Li Zefan lize...@huawei.com
---
include/linux/cgroup.h | 1 +
kernel/cgroup.c| 2 ++
2 files changed, 3 insertions(+)
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
index 3aac34d..7ba7764 100644
is onlined, it will be brought back to the effective masks
if it's in the configured masks.
- We build sched domains based on effective cpumask but not configured cpumask.
Li Zefan (11):
cgroup: allow subsystems to create files for sane_behavior only
cpuset: add cs-real_cpus_allowed and cs
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: done
- take on ancestor's mask when the effective mask is empty: todo
This won't introduce behavior change.
Signed-off-by: Li
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: todo
- take on ancestor's mask when the effective mask is empty: todo
This won't introduce behavior change.
Signed-off-by: Li
.
This is a preparation to make real_{cpus,mems}_allowed to be effective
masks of the cpuset:
- change the effective masks at hotplug: done
- change the effective masks at config change: done
- take on ancestor's mask when the effective mask is empty: done
This won't introduce behavior change.
Signed-off-by: Li
parent's masks.
This behavior change won't take effect unless mount with sane_behavior.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 33 ++---
1 file changed, 22 insertions(+), 11 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index
Now we can use cs-real{cpus,mems}_allowed as effective masks. It's
used whenever:
- we update tasks' cpus_allowed/mems_allowed,
- we want to retrieve tasks_cs(tsk)'s cpus_allowed/mems_allowed.
They actually replace effective_{cpu,node}mask_cpuset().
Signed-off-by: Li Zefan lize...@huawei.com
We're going to have separate user-configured masks and effective ones,
and configured masks won't be restricted by the parent, so we should
use effective masks to build sched domains.
This won't introduce behavior change.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 19
As the configured masks won't be limited by its parent, and the top
cpuset's masks won't change when hotplug happens, it's natural to
allow writing offlined masks to the configured masks.
Signed-off-by; Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 7 ---
1 file changed, 4 insertions
will bring it back to the effective mask.
This is a behavior change for sane_behavior.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 140 +++-
1 file changed, 77 insertions(+), 63 deletions(-)
diff --git a/kernel/cpuset.c b
and initializes the effective masks. The effective
masks of the top cpuset is the same with configured masks, and a child
cpuset inherites its parent's effective masks.
This won't introduce behavior change.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 57
-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 36 ++--
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index c302979..a4f3483 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -1583,6 +1583,8 @@ typedef enum
s introduced by commit 88fa523bff295f1d60244a54833480b02f775152
("cpuset: allow to move tasks to empty cpusets").
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 0b5b9a3..70ab3
88fa523bff295f1d60244a54833480b02f775152
(cpuset: allow to move tasks to empty cpusets).
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index 0b5b9a3..70ab3fd 100644
On 2013/8/19 11:32, Ming Lei wrote:
> Hi,
>
> The kernel oops[1] is triggered during kernel boot with the latest next
> tree(3.11.0-rc5-next-20130816), looks it is caused by reference to
> uninitialized
> percpu ref of root cgroup, and below patch can fix the problem:
>
Thanks for the report.
Now we want cgroup core to always provide the css to use to the
subsystems, so change this API to css_from_id().
Uninline css_from_id(), because it's getting bigger and cgroup_css()
has been unexported.
While at it, remove the #ifdef, and shuffle the order of the args.
Signed-off-by: Li Zefan
Now we want cgroup core to always provide the css to use to the
subsystems, so change this API to css_from_id().
Uninline css_from_id(), because it's getting bigger and cgroup_css()
has been unexported.
While at it, remove the #ifdef, and shuffle the order of the args.
Signed-off-by: Li Zefan
On 2013/8/19 11:32, Ming Lei wrote:
Hi,
The kernel oops[1] is triggered during kernel boot with the latest next
tree(3.11.0-rc5-next-20130816), looks it is caused by reference to
uninitialized
percpu ref of root cgroup, and below patch can fix the problem:
Thanks for the report. Li
Now we want cgroup core to always provide the css to use to the
subsystems, so change this API to css_from_id().
Uninline css_from_id(), because it's getting bigger and cgroup_css()
has been unexported.
While at it, remove the #ifdef.
Signed-off-by: Li Zefan
---
include/linux/cgroup.h | 20
On 2013/8/14 21:30, Tejun Heo wrote:
> Hello, Li.
>
> On Wed, Aug 14, 2013 at 10:01:32AM +0800, Li Zefan wrote:
>> But most controllers don't check this in those read/write functions.
>> It shoudn't do any harm not checking online/offline status.
>
> It depends
On 2013/8/14 21:30, Tejun Heo wrote:
Hello, Li.
On Wed, Aug 14, 2013 at 10:01:32AM +0800, Li Zefan wrote:
But most controllers don't check this in those read/write functions.
It shoudn't do any harm not checking online/offline status.
It depends on the specific controller
Now we want cgroup core to always provide the css to use to the
subsystems, so change this API to css_from_id().
Uninline css_from_id(), because it's getting bigger and cgroup_css()
has been unexported.
While at it, remove the #ifdef.
Signed-off-by: Li Zefan lize...@huawei.com
---
include
On 2013/8/13 23:05, Tejun Heo wrote:
> On Tue, Aug 13, 2013 at 09:17:53AM +0800, Li Zefan wrote:
>> Now cgroup core gets a reference to the css when a cgroup file is
>> opened(), and the reference is dropped at file release. so it's
>> guaranteed the cpuset is online duri
On 2013/8/13 23:05, Tejun Heo wrote:
On Tue, Aug 13, 2013 at 09:17:53AM +0800, Li Zefan wrote:
Now cgroup core gets a reference to the css when a cgroup file is
opened(), and the reference is dropped at file release. so it's
guaranteed the cpuset is online during the write function.
Hmmm
On 2013/8/13 9:17, Li Zefan wrote:
> Now cgroup core gets a reference to the css when a cgroup file is
> opened(), and the reference is dropped at file release. so it's
> guaranteed the cpuset is online during the write function.
>
> Signed-off-by: Li Zefan
> ---
>
Writing to this file always returns -ENODEV:
# echo 1 > cpuset.memory_pressure_enabled
-bash: echo: write error: No such device
Signed-off-by: Li Zefan
Cc: # 3.9+
---
kernel/cpuset.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/kernel/cpuset.c b/ker
> 0012-cgroup-factor-out-kill_css.patch
> 0013-cgroup-move-subsys-file-removal-to-kill_css.patch
> 0014-cgroup-RCU-protect-each-cgroup_subsys_state-release.patch
>
Acked-by: Li Zefan
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index bf69717..9d8d637 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -68,9 +68,6 @@
*/
int number_of_cpusets __read_mostly;
-/* Forward declare cgroup
Now cgroup core gets a reference to the css when a cgroup file is
opened(), and the reference is dropped at file release. so it's
guaranteed the cpuset is online during the write function.
Signed-off-by: Li Zefan
---
kernel/cpuset.c | 10 ++
1 file changed, 2 insertions(+), 8 deletions
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/kernel/cpuset.c b/kernel/cpuset.c
index bf69717..9d8d637 100644
--- a/kernel/cpuset.c
+++ b/kernel/cpuset.c
@@ -68,9 +68,6 @@
*/
int number_of_cpusets __read_mostly
Now cgroup core gets a reference to the css when a cgroup file is
opened(), and the reference is dropped at file release. so it's
guaranteed the cpuset is online during the write function.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c | 10 ++
1 file changed, 2
-RCU-protect-each-cgroup_subsys_state-release.patch
Acked-by: Li Zefan lize...@huawei.com
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read
Writing to this file always returns -ENODEV:
# echo 1 cpuset.memory_pressure_enabled
-bash: echo: write error: No such device
Signed-off-by: Li Zefan lize...@huawei.com
Cc: sta...@vger.kernel.org # 3.9+
---
kernel/cpuset.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff
On 2013/8/13 9:17, Li Zefan wrote:
Now cgroup core gets a reference to the css when a cgroup file is
opened(), and the reference is dropped at file release. so it's
guaranteed the cpuset is online during the write function.
Signed-off-by: Li Zefan lize...@huawei.com
---
kernel/cpuset.c
> /* invoke ->css_online() on a new CSS and mark it online if successful */
> -static int online_css(struct cgroup_subsys *ss, struct cgroup *cgrp)
> +static int online_css(struct cgroup_subsys_state *css)
> {
> - struct cgroup_subsys_state *css = cgroup_css(cgrp, ss->subsys_id);
> +
/* invoke -css_online() on a new CSS and mark it online if successful */
-static int online_css(struct cgroup_subsys *ss, struct cgroup *cgrp)
+static int online_css(struct cgroup_subsys_state *css)
{
- struct cgroup_subsys_state *css = cgroup_css(cgrp, ss-subsys_id);
+ struct
On 2013/8/9 8:00, Greg Kroah-Hartman wrote:
> On Thu, Aug 08, 2013 at 12:08:47PM +0800, Li Zefan wrote:
>> Hi Greg,
>>
>> Could you queue this commit for 3.0 and 3.4? It has been acked by Ingo.
>
> I've already done so, please look at the stable-queue.
>
Oh, I see
On 2013/8/9 8:00, Greg Kroah-Hartman wrote:
On Thu, Aug 08, 2013 at 12:08:47PM +0800, Li Zefan wrote:
Hi Greg,
Could you queue this commit for 3.0 and 3.4? It has been acked by Ingo.
I've already done so, please look at the stable-queue.
Oh, I see it now. I was cced with other patches
Hi Greg,
Could you queue this commit for 3.0 and 3.4? It has been acked by Ingo.
On 2013/8/2 19:14, Ingo Molnar wrote:
>
> * Li Zefan wrote:
>
>> commit a59f4e079d19464eebb9b06513a1d4f55fdae5ba
>> Author: Zhu Yanhai
>> Date: Tue Jan 8 12:56:52 2013 +0800
>
>> If somebody needs a notification interface (and there is no one available
>> right now) then you cannot prevent from such a pointless work anyway...
>
> I'm gonna add one for freezer state transitions. It'll be simple
> "this file changed" thing and will probably apply that to at least oom
>
memcg requires the cgroup id to be smaller than 65536.
This is a preparation to kill css id.
Signed-off-by: Li Zefan
Acked-by: Michal Hocko
---
mm/memcontrol.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 3189f70..c0bb83c 100644
--- a/mm
Now memcg uses cgroup id instead of css id. Update some comments and
set mem_cgroup_subsys->use_id to 0.
Signed-off-by: Li Zefan
Acked-by: Michal Hocko
---
mm/memcontrol.c | 24
1 file changed, 8 insertions(+), 16 deletions(-)
diff --git a/mm/memcontrol.c b
The only user of css_id was memcg, and it has been convered to use
cgroup->id, so kill css_id.
Signed-off-by: Li Zefan
Reviewed-by: Michal Hocko
Acked-by: Tejun Heo
---
include/linux/cgroup.h | 37
kernel/cgroup.c| 252 +
Use cgroup id instead of css id. This is a preparation to kill css id.
Note, as memcg treat 0 as an invalid id, while cgroup id starts with 0,
we define memcg_id == cgroup_id + 1.
Signed-off-by: Li Zefan
Acked-by: Michal Hocko
---
mm/memcontrol.c | 34 --
1
by Michal.
- fixed the call to idr_alloc() in cgroup_init() in the first patch.
Li Zefan (5):
memcg: convert to use cgroup_is_descendant()
memcg: convert to use cgroup id
memcg: fail to create cgroup if the cgroup id is too big
memcg: stop using css id
cgroup: ki
This is a preparation to kill css_id.
Signed-off-by: Li Zefan
Acked-by: Michal Hocko
---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 6f292b8..87a2537 100644
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@ -1353,7
>> The first one is, if you get a reply from a maintainer (especially a top
>> maintainer), try harder to understand/learn from that reply, but don't
>> keep asking why and don't keep arguing without much thinking. I think
>> what's why sometimes people are annoyed in the discussion with you.
>>
>
>> To be honest...
>>
>> You are too bad in english to do kernel development. You don't seem to
>> know how to communicate in english...
>>
>
> So I should improve my English, and now I am just trying improving.
>
> At least, it is not an excuse to leave upstream kernel development, is
> it
On 2013/8/7 14:10, Joe Perches wrote:
> On Wed, 2013-08-07 at 13:56 +0800, Li Zefan wrote:
>>>> The right answer to the code is to config it out and then you don't have
>>>> to worry about it one way or another.
> []
>>> Hmm... do you mean you spen
On 2013/8/7 14:10, Joe Perches wrote:
> On Wed, 2013-08-07 at 13:56 +0800, Li Zefan wrote:
>>>> The right answer to the code is to config it out and then you don't have
>>>> to worry about it one way or another.
> []
>>> Hmm... do you mean you spen
On 2013/8/7 14:10, Joe Perches wrote:
On Wed, 2013-08-07 at 13:56 +0800, Li Zefan wrote:
The right answer to the code is to config it out and then you don't have
to worry about it one way or another.
[]
Hmm... do you mean you spend 5 minutes to get a conclusion ? if so,
better not use word
On 2013/8/7 14:10, Joe Perches wrote:
On Wed, 2013-08-07 at 13:56 +0800, Li Zefan wrote:
The right answer to the code is to config it out and then you don't have
to worry about it one way or another.
[]
Hmm... do you mean you spend 5 minutes to get a conclusion ? if so,
better not use word
To be honest...
You are too bad in english to do kernel development. You don't seem to
know how to communicate in english...
So I should improve my English, and now I am just trying improving.
At least, it is not an excuse to leave upstream kernel development, is
it right ? or do you
The first one is, if you get a reply from a maintainer (especially a top
maintainer), try harder to understand/learn from that reply, but don't
keep asking why and don't keep arguing without much thinking. I think
what's why sometimes people are annoyed in the discussion with you.
In my
This is a preparation to kill css_id.
Signed-off-by: Li Zefan lize...@huawei.com
Acked-by: Michal Hocko mho...@suse.cz
---
mm/memcontrol.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c
index 6f292b8..87a2537 100644
--- a/mm/memcontrol.c
Use cgroup id instead of css id. This is a preparation to kill css id.
Note, as memcg treat 0 as an invalid id, while cgroup id starts with 0,
we define memcg_id == cgroup_id + 1.
Signed-off-by: Li Zefan lize...@huawei.com
Acked-by: Michal Hocko mho...@suse.cz
---
mm/memcontrol.c | 34
501 - 600 of 1870 matches
Mail list logo