From: Linus Torvalds Date: Wed, 15 Nov 2017 22:29:44 +0000 (-0800) Subject: Merge branch 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=22714a2ba4b55737cd7d5299db7aaf1fa8287354;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'for-4.15' of git://git./linux/kernel/git/tj/cgroup Pull cgroup updates from Tejun Heo: "Cgroup2 cpu controller support is finally merged. - Basic cpu statistics support to allow monitoring by default without the CPU controller enabled. - cgroup2 cpu controller support. - /sys/kernel/cgroup files to help dealing with new / optional features" * 'for-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: export list of cgroups v2 features using sysfs cgroup: export list of delegatable control files using sysfs cgroup: mark @cgrp __maybe_unused in cpu_stat_show() MAINTAINERS: relocate cpuset.c cgroup, sched: Move basic cpu stats from cgroup.stat to cpu.stat sched: Implement interface for cgroup unified hierarchy sched: Misc preps for cgroup unified hierarchy interface sched/cputime: Add dummy cputime_adjust() implementation for CONFIG_VIRT_CPU_ACCOUNTING_NATIVE cgroup: statically initialize init_css_set->dfl_cgrp cgroup: Implement cgroup2 basic CPU usage accounting cpuacct: Introduce cgroup_account_cputime[_field]() sched/cputime: Expose cputime_adjust() --- 22714a2ba4b55737cd7d5299db7aaf1fa8287354 diff --cc kernel/cgroup/Makefile index ae448f7632cc,0acee616e06c..2be89a003185 --- a/kernel/cgroup/Makefile +++ b/kernel/cgroup/Makefile @@@ -1,5 -1,4 +1,5 @@@ +# SPDX-License-Identifier: GPL-2.0 - obj-y := cgroup.o namespace.o cgroup-v1.o + obj-y := cgroup.o stat.o namespace.o cgroup-v1.o obj-$(CONFIG_CGROUP_FREEZER) += freezer.o obj-$(CONFIG_CGROUP_PIDS) += pids.o diff --cc kernel/cgroup/cgroup.c index 00f5b358aeac,69e65d28fe98..0b1ffe147f24 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@@ -4765,8 -4833,9 +4844,11 @@@ static struct cgroup *cgroup_create(str return cgrp; +out_idr_free: + cgroup_idr_remove(&root->cgroup_idr, cgrp->id); + out_stat_exit: + if (cgroup_on_dfl(parent)) + cgroup_stat_exit(cgrp); out_cancel_ref: percpu_ref_exit(&cgrp->self.refcnt); out_free_cgrp: