Tejun Heo
6f60eade24
cgroup: generalize obtaining the handles of and notifying cgroup files
...
cgroup core handles creations and removals of cgroup interface files
as described by cftypes. There are cases where the handle for a given
file instance is necessary, for example, to generate a file modified
event. Currently, this is handled by explicitly matching the callback
method pointer and storing the file handle manually in
cgroup_add_file(). While this simple approach works for cgroup core
files, it can't for controller interface files.
This patch generalizes cgroup interface file handle handling. struct
cgroup_file is defined and each cftype can optionally tell cgroup core
to store the file handle by setting ->file_offset. A file handle
remains accessible as long as the containing css is accessible.
Both "cgroup.procs" and "cgroup.events" are converted to use the new
generic mechanism instead of hooking directly into cgroup_add_file().
Also, cgroup_file_notify() which takes a struct cgroup_file and
generates a file modified event on it is added and replaces explicit
kernfs_notify() invocations.
This generalizes cgroup file handle handling and allows controllers to
generate file modified notifications.
Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Li Zefan <lizefan@huawei.com>
Cc: Johannes Weiner <hannes@cmpxchg.org>
2015-09-18 17:54:23 -04:00
..
bpf
bpf: fix out of bounds access in verifier log
2015-09-09 14:11:55 -07:00
configs
kconfig: add xenconfig defconfig helper
2015-06-16 11:04:29 +01:00
debug
events
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
gcov
gcov: add support for GCC 5.1
2015-06-30 19:44:57 -07:00
irq
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 14:33:35 -07:00
livepatch
livepatch: Improve error handling in klp_disable_func()
2015-07-14 22:48:06 +02:00
locking
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-09-05 20:34:28 -07:00
power
Merge branch 'for-4.3/core' of git://git.kernel.dk/linux-block
2015-09-02 13:10:25 -07:00
printk
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
rcu
rcu,locking: Privatize smp_mb__after_unlock_lock()
2015-08-04 08:49:21 -07:00
sched
userfaultfd: waitqueue: add nr wake parameter to __wake_up_locked_key
2015-09-04 16:54:41 -07:00
time
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 14:04:50 -07:00
trace
Mostly this is just clean ups and micro optimizations.
2015-09-08 14:04:14 -07:00
.gitignore
acct.c
async.c
audit.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2015-09-08 13:34:59 -07:00
audit.h
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2015-09-08 13:34:59 -07:00
audit_fsnotify.c
audit: clean simple fsnotify implementation
2015-08-06 16:14:53 -04:00
audit_tree.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2015-09-08 13:34:59 -07:00
audit_watch.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2015-09-08 13:34:59 -07:00
auditfilter.c
audit: implement audit by executable
2015-08-06 16:17:25 -04:00
auditsc.c
Merge branch 'upstream' of git://git.infradead.org/users/pcmoore/audit
2015-09-08 13:34:59 -07:00
backtracetest.c
bounds.c
capability.c
cgroup.c
cgroup: generalize obtaining the handles of and notifying cgroup files
2015-09-18 17:54:23 -04:00
cgroup_freezer.c
cgroup: allow a cgroup subsystem to reject a fork
2015-07-14 17:29:23 -04:00
cgroup_pids.c
cgroup: pids: fix invalid get/put usage
2015-08-25 14:19:25 -04:00
compat.c
configs.c
context_tracking.c
cpu.c
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-08-31 20:26:22 -07:00
cpu_pm.c
kernel/cpu_pm: fix cpu_cluster_pm_exit comment
2015-09-03 02:42:20 +02:00
cpuset.c
cgroup: replace cftype->mode with CFTYPE_WORLD_WRITABLE
2015-09-18 17:54:23 -04:00
crash_dump.c
cred.c
kernel/cred.c: remove unnecessary kdebug atomic reads
2015-09-10 13:29:01 -07:00
delayacct.c
dma.c
elfcore.c
exec_domain.c
exit.c
kernel: exit: fix typo in comment
2015-08-07 13:59:49 +02:00
extable.c
kernel/extable.c: remove duplicated include
2015-09-10 13:29:01 -07:00
fork.c
sched, cgroup: replace signal_struct->group_rwsem with a global percpu_rwsem
2015-09-16 12:53:17 -04:00
freezer.c
futex.c
futex: Make should_fail_futex() static
2015-07-20 21:43:54 +02:00
futex_compat.c
groups.c
hung_task.c
irq_work.c
jump_label.c
locking/static_keys: Add selftest
2015-08-03 11:34:16 +02:00
kallsyms.c
kcmp.c
Kconfig.freezer
Kconfig.hz
Kconfig.locks
Kconfig.preempt
kexec.c
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
kexec_core.c
kexec: export KERNEL_IMAGE_SIZE to vmcoreinfo
2015-09-10 13:29:01 -07:00
kexec_file.c
kexec: split kexec_file syscall code to kexec_file.c
2015-09-10 13:29:01 -07:00
kexec_internal.h
kexec: split kexec_file syscall code to kexec_file.c
2015-09-10 13:29:01 -07:00
kmod.c
kmod: handle UMH_WAIT_PROC from system unbound workqueue
2015-09-10 13:29:01 -07:00
kprobes.c
perf/x86/hw_breakpoints: Disallow kernel breakpoints unless kprobe-safe
2015-08-04 10:16:54 +02:00
ksysfs.c
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
kthread.c
kernel/kthread.c:kthread_create_on_node(): clarify documentation
2015-09-04 16:54:41 -07:00
latencytop.c
Makefile
sys_membarrier(): system-wide memory barrier (generic, x86)
2015-09-11 15:21:34 -07:00
membarrier.c
sys_membarrier(): system-wide memory barrier (generic, x86)
2015-09-11 15:21:34 -07:00
memremap.c
add devm_memremap_pages
2015-08-27 19:40:58 -04:00
module-internal.h
module.c
module: weaken locking assertion for oops path.
2015-07-29 06:13:22 +09:30
module_signing.c
PKCS#7: Appropriately restrict authenticated attributes and content type
2015-08-12 17:01:01 +01:00
notifier.c
Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
2015-09-01 08:40:25 -07:00
nsproxy.c
padata.c
panic.c
kernel/panic/kexec: fix "crash_kexec_post_notifiers" option issue in oops path
2015-06-30 19:44:57 -07:00
params.c
Minor merge needed, due to function move.
2015-07-01 10:49:25 -07:00
pid.c
rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()
2015-07-22 15:27:32 -07:00
pid_namespace.c
profile.c
mm: rename alloc_pages_exact_node() to __alloc_pages_node()
2015-09-08 15:35:28 -07:00
ptrace.c
seccomp: add ptrace options for suspend/resume
2015-07-15 11:52:52 -07:00
range.c
reboot.c
kexec: split kexec_load syscall from kexec core code
2015-09-10 13:29:01 -07:00
relay.c
kernel/relay.c: use kvfree() in relay_free_page_array()
2015-06-30 19:44:59 -07:00
resource.c
mm: enhance region_is_ram() to region_intersects()
2015-08-10 23:07:05 -04:00
seccomp.c
Merge tag 'seccomp-next' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into next
2015-07-20 17:19:19 +10:00
signal.c
signal: fix information leak in copy_siginfo_to_user
2015-08-07 04:39:40 +03:00
smp.c
smpboot.c
smpboot: allow passing the cpumask on per-cpu thread registration
2015-09-04 16:54:41 -07:00
smpboot.h
softirq.c
stacktrace.c
stop_machine.c
stop_machine: Remove cpu_stop_work's from list in cpu_stop_park()
2015-08-03 12:21:28 +02:00
sys.c
vfs: Commit to never having exectuables on proc and sysfs.
2015-07-10 10:39:25 -05:00
sys_ni.c
sys_membarrier(): system-wide memory barrier (generic, x86)
2015-09-11 15:21:34 -07:00
sysctl.c
sysctl: fix int -> unsigned long assignments in INT_MIN case
2015-09-10 13:29:01 -07:00
sysctl_binary.c
task_work.c
task_work: remove fifo ordering guarantee
2015-09-05 13:46:58 -07:00
taskstats.c
test_kprobes.c
torture.c
tracepoint.c
tsacct.c
uid16.c
up.c
user-return-notifier.c
user.c
user_namespace.c
capabilities: ambient capabilities
2015-09-04 16:54:41 -07:00
utsname.c
utsname_sysctl.c
watchdog.c
watchdog: rename watchdog_suspend() and watchdog_resume()
2015-09-04 16:54:41 -07:00
workqueue.c
Merge branch 'for-4.3' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
2015-09-02 08:02:20 -07:00
workqueue_internal.h