Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
perf: Fix comments in include/linux/perf_event.h
perf: Comment /proc/sys/kernel/perf_event_paranoid to be part of user ABI
perf python: Fix argument name list of read_on_cpu()
perf evlist: Don't die if sample_{id_all|type} is invalid
perf python: Use exception to propagate errors
perf evlist: Remove dependency on debug routines
perf, cgroups: Fix up for new API
This commit is contained in:
+4
-18
@@ -7402,26 +7402,12 @@ static int __perf_cgroup_move(void *info)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void perf_cgroup_move(struct task_struct *task)
|
||||
static void
|
||||
perf_cgroup_attach_task(struct cgroup *cgrp, struct task_struct *task)
|
||||
{
|
||||
task_function_call(task, __perf_cgroup_move, task);
|
||||
}
|
||||
|
||||
static void perf_cgroup_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
|
||||
struct cgroup *old_cgrp, struct task_struct *task,
|
||||
bool threadgroup)
|
||||
{
|
||||
perf_cgroup_move(task);
|
||||
if (threadgroup) {
|
||||
struct task_struct *c;
|
||||
rcu_read_lock();
|
||||
list_for_each_entry_rcu(c, &task->thread_group, thread_group) {
|
||||
perf_cgroup_move(c);
|
||||
}
|
||||
rcu_read_unlock();
|
||||
}
|
||||
}
|
||||
|
||||
static void perf_cgroup_exit(struct cgroup_subsys *ss, struct cgroup *cgrp,
|
||||
struct cgroup *old_cgrp, struct task_struct *task)
|
||||
{
|
||||
@@ -7433,7 +7419,7 @@ static void perf_cgroup_exit(struct cgroup_subsys *ss, struct cgroup *cgrp,
|
||||
if (!(task->flags & PF_EXITING))
|
||||
return;
|
||||
|
||||
perf_cgroup_move(task);
|
||||
perf_cgroup_attach_task(cgrp, task);
|
||||
}
|
||||
|
||||
struct cgroup_subsys perf_subsys = {
|
||||
@@ -7442,6 +7428,6 @@ struct cgroup_subsys perf_subsys = {
|
||||
.create = perf_cgroup_create,
|
||||
.destroy = perf_cgroup_destroy,
|
||||
.exit = perf_cgroup_exit,
|
||||
.attach = perf_cgroup_attach,
|
||||
.attach_task = perf_cgroup_attach_task,
|
||||
};
|
||||
#endif /* CONFIG_CGROUP_PERF */
|
||||
|
||||
@@ -938,6 +938,12 @@ static struct ctl_table kern_table[] = {
|
||||
},
|
||||
#endif
|
||||
#ifdef CONFIG_PERF_EVENTS
|
||||
/*
|
||||
* User-space scripts rely on the existence of this file
|
||||
* as a feature check for perf_events being enabled.
|
||||
*
|
||||
* So it's an ABI, do not remove!
|
||||
*/
|
||||
{
|
||||
.procname = "perf_event_paranoid",
|
||||
.data = &sysctl_perf_event_paranoid,
|
||||
|
||||
Reference in New Issue
Block a user