Merge branch 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup updates from Tejun Heo: "This includes Roman's cgroup2 freezer implementation. It's a separate machanism from cgroup1 freezer. Instead of blocking user tasks in arbitrary uninterruptible sleeps, the new implementation extends jobctl stop - frozen tasks are trapped in jobctl stop until thawed and can be killed and ptraced. Lots of thanks to Oleg for sheperding the effort. Other than that, there are a few trivial changes" * 'for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup: never call do_group_exit() with task->frozen bit set kernel: cgroup: fix misuse of %x cgroup: get rid of cgroup_freezer_frozen_exit() cgroup: prevent spurious transition into non-frozen state cgroup: Remove unused cgrp variable cgroup: document cgroup v2 freezer interface cgroup: add tracing points for cgroup v2 freezer cgroup: make TRACE_CGROUP_PATH irq-safe kselftests: cgroup: add freezer controller self-tests kselftests: cgroup: don't fail on cg_kill_all() error in cg_destroy() cgroup: cgroup v2 freezer cgroup: protect cgroup->nr_(dying_)descendants by css_set_lock cgroup: implement __cgroup_task_count() helper cgroup: rename freezer.c into legacy_freezer.c cgroup: remove extra cgroup_migrate_finish() call
This commit is contained in:
@@ -103,6 +103,20 @@ DEFINE_EVENT(cgroup, cgroup_rename,
|
||||
TP_ARGS(cgrp, path)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(cgroup, cgroup_freeze,
|
||||
|
||||
TP_PROTO(struct cgroup *cgrp, const char *path),
|
||||
|
||||
TP_ARGS(cgrp, path)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(cgroup, cgroup_unfreeze,
|
||||
|
||||
TP_PROTO(struct cgroup *cgrp, const char *path),
|
||||
|
||||
TP_ARGS(cgrp, path)
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(cgroup_migrate,
|
||||
|
||||
TP_PROTO(struct cgroup *dst_cgrp, const char *path,
|
||||
@@ -149,6 +163,47 @@ DEFINE_EVENT(cgroup_migrate, cgroup_transfer_tasks,
|
||||
TP_ARGS(dst_cgrp, path, task, threadgroup)
|
||||
);
|
||||
|
||||
DECLARE_EVENT_CLASS(cgroup_event,
|
||||
|
||||
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
|
||||
|
||||
TP_ARGS(cgrp, path, val),
|
||||
|
||||
TP_STRUCT__entry(
|
||||
__field( int, root )
|
||||
__field( int, id )
|
||||
__field( int, level )
|
||||
__string( path, path )
|
||||
__field( int, val )
|
||||
),
|
||||
|
||||
TP_fast_assign(
|
||||
__entry->root = cgrp->root->hierarchy_id;
|
||||
__entry->id = cgrp->id;
|
||||
__entry->level = cgrp->level;
|
||||
__assign_str(path, path);
|
||||
__entry->val = val;
|
||||
),
|
||||
|
||||
TP_printk("root=%d id=%d level=%d path=%s val=%d",
|
||||
__entry->root, __entry->id, __entry->level, __get_str(path),
|
||||
__entry->val)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(cgroup_event, cgroup_notify_populated,
|
||||
|
||||
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
|
||||
|
||||
TP_ARGS(cgrp, path, val)
|
||||
);
|
||||
|
||||
DEFINE_EVENT(cgroup_event, cgroup_notify_frozen,
|
||||
|
||||
TP_PROTO(struct cgroup *cgrp, const char *path, int val),
|
||||
|
||||
TP_ARGS(cgrp, path, val)
|
||||
);
|
||||
|
||||
#endif /* _TRACE_CGROUP_H */
|
||||
|
||||
/* This part must be outside protection */
|
||||
|
Reference in New Issue
Block a user