Linus Torvalds
32dad03d16
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
...
Pull cgroup updates from Tejun Heo:
"A lot of activities on the cgroup front. Most changes aren't visible
to userland at all at this point and are laying foundation for the
planned unified hierarchy.
- The biggest change is decoupling the lifetime management of css
(cgroup_subsys_state) from that of cgroup's. Because controllers
(cpu, memory, block and so on) will need to be dynamically enabled
and disabled, css which is the association point between a cgroup
and a controller may come and go dynamically across the lifetime of
a cgroup. Till now, css's were created when the associated cgroup
was created and stayed till the cgroup got destroyed.
Assumptions around this tight coupling permeated through cgroup
core and controllers. These assumptions are gradually removed,
which consists bulk of patches, and css destruction path is
completely decoupled from cgroup destruction path. Note that
decoupling of creation path is relatively easy on top of these
changes and the patchset is pending for the next window.
- cgroup has its own event mechanism cgroup.event_control, which is
only used by memcg. It is overly complex trying to achieve high
flexibility whose benefits seem dubious at best. Going forward,
new events will simply generate file modified event and the
existing mechanism is being made specific to memcg. This pull
request contains prepatory patches for such change.
- Various fixes and cleanups"
Fixed up conflict in kernel/cgroup.c as per Tejun.
* 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (69 commits)
cgroup: fix cgroup_css() invocation in css_from_id()
cgroup: make cgroup_write_event_control() use css_from_dir() instead of __d_cgrp()
cgroup: make cgroup_event hold onto cgroup_subsys_state instead of cgroup
cgroup: implement CFTYPE_NO_PREFIX
cgroup: make cgroup_css() take cgroup_subsys * instead and allow NULL subsys
cgroup: rename cgroup_css_from_dir() to css_from_dir() and update its syntax
cgroup: fix cgroup_write_event_control()
cgroup: fix subsystem file accesses on the root cgroup
cgroup: change cgroup_from_id() to css_from_id()
cgroup: use css_get() in cgroup_create() to check CSS_ROOT
cpuset: remove an unncessary forward declaration
cgroup: RCU protect each cgroup_subsys_state release
cgroup: move subsys file removal to kill_css()
cgroup: factor out kill_css()
cgroup: decouple cgroup_subsys_state destruction from cgroup destruction
cgroup: replace cgroup->css_kill_cnt with ->nr_css
cgroup: bounce cgroup_subsys_state ref kill confirmation to a work item
cgroup: move cgroup->subsys[] assignment to online_css()
cgroup: reorganize css init / exit paths
cgroup: add __rcu modifier to cgroup->subsys[]
...
2013-09-03 18:25:03 -07:00
..
cpu
idle: Enable interrupts in the weak arch_cpu_idle() implementation
2013-06-14 23:01:05 +02:00
debug
kgdb/sysrq: fix inconstistent help message of sysrq key
2013-04-30 17:04:10 -07:00
events
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2013-09-03 18:25:03 -07:00
gcov
kernel/gcov: remove depends on CONFIG_EXPERIMENTAL
2013-01-11 11:39:33 -08:00
irq
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-07-13 15:37:30 -07:00
power
Merge branch 'pm-sleep'
2013-08-27 01:41:47 +02:00
printk
TTY/Serial driver patches for 3.12-rc1
2013-09-03 11:38:36 -07:00
sched
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2013-09-03 18:25:03 -07:00
time
timer_list: correct the iterator for timer_list
2013-08-28 19:26:38 -07:00
trace
tracing: Fix reset of time stamps during trace_clock changes
2013-08-02 22:40:09 -04:00
.gitignore
kernel/hz.bc: ignore.
2013-04-22 07:09:06 -07:00
acct.c
fs: Fix hang with BSD accounting on frozen filesystem
2013-05-04 14:57:58 -04:00
async.c
async: rename and redefine async_func_ptr
2013-03-12 13:59:14 -07:00
audit.c
audit: wait_for_auditd() should use TASK_UNINTERRUPTIBLE
2013-06-12 16:29:45 -07:00
audit.h
audit: fix mq_open and mq_unlink to add the MQ root as a hidden parent audit_names record
2013-07-09 10:33:19 -07:00
audit_tree.c
kernel/audit_tree.c:audit_add_tree_rule(): protect `rule' from kill_rules()
2013-06-12 16:29:46 -07:00
audit_watch.c
audit: catch possible NULL audit buffers
2013-01-11 14:54:55 -08:00
auditfilter.c
audit: Fix decimal constant description
2013-07-09 10:33:19 -07:00
auditsc.c
audit: fix mq_open and mq_unlink to add the MQ root as a hidden parent audit_names record
2013-07-09 10:33:19 -07:00
backtracetest.c
bounds.c
capability.c
Add file_ns_capable() helper function for open-time capability checking
2013-04-14 10:06:31 -07:00
cgroup.c
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2013-09-03 18:25:03 -07:00
cgroup_freezer.c
cgroup: make css_for_each_descendant() and friends include the origin css in the iteration
2013-08-08 20:11:27 -04:00
compat.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
2013-05-01 07:21:43 -07:00
configs.c
proc: Supply PDE attribute setting accessor functions
2013-05-01 17:29:18 -04:00
context_tracking.c
Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2013-06-20 08:18:35 -10:00
cpu.c
ACPI / processor: Acquire writer lock to update CPU maps
2013-08-13 12:20:16 +02:00
cpu_pm.c
cpuset.c
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
2013-09-03 18:25:03 -07:00
crash_dump.c
cred.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace
2012-12-18 10:55:28 -08:00
delayacct.c
cputime: Use accessors to read task cputime stats
2013-01-27 19:23:31 +01:00
dma.c
elfcore.c
exec_domain.c
exit.c
ptrace: revert "Prepare to fix racy accesses on task breakpoints"
2013-07-09 10:33:26 -07:00
extable.c
extable: Flip the sorting message
2013-04-15 13:25:16 +02:00
fork.c
Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-27 13:52:52 -04:00
freezer.c
freezer: set PF_SUSPEND_TASK flag on tasks that call freeze_processes
2013-07-30 14:05:06 +02:00
futex.c
futex: Use freezable blocking call
2013-06-25 23:11:19 +02:00
futex_compat.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal
2013-02-23 18:50:11 -08:00
groups.c
hrtimer.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
hung_task.c
irq_work.c
Merge branch 'nohz/printk-v8' into irq/core
2013-02-05 00:48:46 +01:00
itimer.c
jump_label.c
kallsyms.c
kernel: kallsyms: memory override issue, need check destination buffer length
2013-04-15 15:17:26 +09:30
kcmp.c
kcmp: include linux/ptrace.h
2012-12-20 17:40:19 -08:00
Kconfig.freezer
Kconfig.hz
Kconfig.locks
locking: Fix copy/paste errors of "ARCH_INLINE_*_UNLOCK_BH"
2013-05-28 08:50:00 +02:00
Kconfig.preempt
kexec.c
kexec: Use min() and min_t() to simplify logic
2013-04-30 17:04:07 -07:00
kmod.c
usermodehelper: kill the sub_info->path[0] check
2013-07-03 16:08:02 -07:00
kprobes.c
kprobes: handle empty/invalid input to debugfs "enabled" file
2013-07-03 16:07:46 -07:00
ksysfs.c
Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2012-12-11 18:10:49 -08:00
kthread.c
kthread: implement probe_kthread_data()
2013-04-30 17:04:02 -07:00
latencytop.c
lglock.c
lockdep.c
lockdep: remove task argument from debug_check_no_locks_held
2013-05-12 14:16:21 +02:00
lockdep_internals.h
lockdep_proc.c
lockdep_states.h
Makefile
printk: move to separate directory for easier modification
2013-07-31 14:41:03 -07:00
modsign_certificate.S
CONFIG_SYMBOL_PREFIX: cleanup.
2013-03-15 15:09:43 +10:30
modsign_pubkey.c
keys: use keyring_alloc() to create module signing keyring
2012-12-20 17:40:21 -08:00
module-internal.h
module.c
Nothing interesting. Except the most embarrassing bugfix ever. But let's
2013-07-10 14:51:41 -07:00
module_signing.c
MODSIGN: Don't use enum-type bitfields in module signature info block
2012-12-05 11:27:24 +10:30
mutex-debug.c
mutex-debug.h
mutex.c
mutex: Fix w/w mutex deadlock injection
2013-07-30 22:16:40 +02:00
mutex.h
notifier.c
nsproxy.c
Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-27 13:52:52 -04:00
padata.c
padata: use __this_cpu_read per-cpu helper
2012-12-06 17:16:23 +08:00
panic.c
The majority of the changes here are cleanups for the large changes that
2013-07-11 09:02:09 -07:00
params.c
There is no /sys/parameters
2013-07-02 15:38:19 +09:30
pid.c
kernel/pid.c: move statement
2013-07-03 16:08:05 -07:00
pid_namespace.c
Rename nsproxy.pid_ns to nsproxy.pid_ns_for_children
2013-08-27 13:52:52 -04:00
posix-cpu-timers.c
posix_timers: fix racy timer delta caching on task exit
2013-07-03 16:54:42 +02:00
posix-timers.c
posix-timers: Remove unused variable
2013-04-18 12:51:19 +02:00
profile.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
ptrace.c
Revert "ptrace: PTRACE_DETACH should do flush_ptrace_hw_breakpoint(child)"
2013-08-06 13:16:32 -07:00
range.c
range: Do not add new blank slot with add_range_with_merge
2013-06-18 11:32:10 -05:00
rcu.h
rcu: Provide RCU CPU stall warnings for tiny RCU
2013-01-28 22:06:21 -08:00
rcupdate.c
Merge branches 'cbnum.2013.06.10a', 'doc.2013.06.10a', 'fixes.2013.06.10a', 'srcu.2013.06.10a' and 'tiny.2013.06.10a' into HEAD
2013-06-10 13:46:44 -07:00
rcutiny.c
rcu: Shrink TINY_RCU by reworking CPU-stall ifdefs
2013-06-10 13:45:53 -07:00
rcutiny_plugin.h
rcu: Shrink TINY_RCU by reworking CPU-stall ifdefs
2013-06-10 13:45:53 -07:00
rcutorture.c
rcu: delete __cpuinit usage from all rcu files
2013-07-14 19:36:58 -04:00
rcutree.c
rcu: delete __cpuinit usage from all rcu files
2013-07-14 19:36:58 -04:00
rcutree.h
rcu: delete __cpuinit usage from all rcu files
2013-07-14 19:36:58 -04:00
rcutree_plugin.h
rcu: delete __cpuinit usage from all rcu files
2013-07-14 19:36:58 -04:00
rcutree_trace.c
rcutrace: single_open() leaks
2013-05-05 00:16:35 -04:00
reboot.c
reboot: move arch/x86 reboot= handling to generic kernel
2013-07-09 10:33:29 -07:00
relay.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
res_counter.c
res_counter: return amount of charges after res_counter_uncharge()
2012-12-18 15:02:12 -08:00
resource.c
kernel/resource.c: remove the unneeded assignment in function __find_resource
2013-07-03 16:08:06 -07:00
rtmutex-debug.c
sched/rt: Move rt specific bits into new header file
2013-02-07 20:51:08 +01:00
rtmutex-debug.h
rtmutex-tester.c
locking/rtmutex/tester: Set correct permissions on sysfs files
2013-04-10 14:48:37 +02:00
rtmutex.c
rtmutex: Document rt_mutex_adjust_prio_chain()
2013-05-28 09:23:52 +02:00
rtmutex.h
rtmutex_common.h
rwsem.c
Revert "rw_semaphore: remove up/down_read_non_owner"
2013-03-23 15:53:52 -07:00
seccomp.c
seccomp: allow BPF_XOR based ALU instructions.
2013-03-26 11:07:19 +11:00
semaphore.c
semaphore: use `bool' type for semaphore_waiter's up
2013-04-30 17:04:08 -07:00
signal.c
sigtimedwait: use freezable blocking call
2013-05-12 14:16:23 +02:00
smp.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
smpboot.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
smpboot.h
softirq.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
spinlock.c
srcu.c
srcu: use ACCESS_ONCE() to access sp->completed in srcu_read_lock()
2013-02-07 15:19:36 -08:00
stacktrace.c
stop_machine.c
stop_machine: Mark per cpu stopper enabled early
2013-02-26 22:25:17 +01:00
sys.c
reboot: move shutdown/reboot related functions to kernel/reboot.c
2013-07-09 10:33:29 -07:00
sys_ni.c
unify compat fanotify_mark(2), switch to COMPAT_SYSCALL_DEFINE
2013-05-09 13:46:38 -04:00
sysctl.c
sysctl: range checking in do_proc_dointvec_ms_jiffies_conv
2013-07-26 14:22:10 -07:00
sysctl_binary.c
kernel: remove unnecessary head file
2013-06-26 18:01:46 +09:00
task_work.c
taskstats.c
test_kprobes.c
kernel/: rename random32() to prandom_u32()
2013-04-29 18:28:42 -07:00
time.c
sched: Rename sched.c as sched/core.c in comments and Documentation
2013-06-19 12:58:42 +02:00
timeconst.bc
kernel: Replace timeconst.pl with a bc script
2013-02-16 23:17:25 +01:00
timer.c
kernel: delete __cpuinit usage from all core kernel files
2013-07-14 19:36:59 -04:00
tracepoint.c
Tracing updates for Linux 3.10
2013-04-29 13:55:38 -07:00
tsacct.c
cputime: Use accessors to read task cputime stats
2013-01-27 19:23:31 +01:00
uid16.c
make SYSCALL_DEFINE<n>-generated wrappers do asmlinkage_protect
2013-03-03 22:58:33 -05:00
up.c
user-return-notifier.c
hlist: drop the node parameter from iterators
2013-02-27 19:10:24 -08:00
user.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2013-05-01 17:51:54 -07:00
user_namespace.c
userns: limit the maximum depth of user_namespace->parent chain
2013-08-08 13:11:39 -07:00
utsname.c
proc: Split the namespace stuff out into linux/proc_ns.h
2013-05-01 17:29:39 -04:00
utsname_sysctl.c
kernel/utsname_sysctl.c: put get/get_uts() into CONFIG_PROC_SYSCTL code block
2013-02-27 19:10:22 -08:00
wait.c
kernel: fix new kernel-doc warning in wait.c
2013-08-19 09:08:54 -07:00
watchdog.c
watchdog: Boot-disable by default on full dynticks
2013-06-20 15:46:32 +02:00
workqueue.c
Merge branch 'for-3.12' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2013-09-03 18:19:21 -07:00
workqueue_internal.h
sched: Rename sched.c as sched/core.c in comments and Documentation
2013-06-19 12:58:42 +02:00