cgrp 13 drivers/gpu/drm/nouveau/nvkm/engine/fifo/changk104.h struct nvkm_fifo_cgrp *cgrp; cgrp 185 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c struct nvkm_fifo_cgrp *cgrp; cgrp 197 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_for_each_entry(cgrp, &fifo->runlist[runl].cgrp, head) { cgrp 198 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c func->cgrp(cgrp, mem, nr++ * func->size); cgrp 199 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_for_each_entry(chan, &cgrp->chan, head) { cgrp 212 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c struct nvkm_fifo_cgrp *cgrp = chan->cgrp; cgrp 216 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c if (cgrp && !--cgrp->chan_nr) cgrp 217 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_del_init(&cgrp->head); cgrp 225 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c struct nvkm_fifo_cgrp *cgrp = chan->cgrp; cgrp 227 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c if (cgrp) { cgrp 228 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c if (!cgrp->chan_nr++) cgrp 229 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_add_tail(&cgrp->head, &fifo->runlist[chan->runl].cgrp); cgrp 230 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_add_tail(&chan->head, &cgrp->chan); cgrp 333 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c struct nvkm_fifo_cgrp *cgrp; cgrp 342 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_for_each_entry(cgrp, &fifo->runlist[runl].cgrp, head) { cgrp 343 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c if (cgrp->id == chid) { cgrp 344 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c chan = list_first_entry(&cgrp->chan, typeof(*chan), head); cgrp 346 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c if (!--cgrp->chan_nr) cgrp 347 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c list_del_init(&cgrp->head); cgrp 959 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.c INIT_LIST_HEAD(&fifo->runlist[i].cgrp); cgrp 35 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h struct list_head cgrp; cgrp 68 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk104.h void (*cgrp)(struct nvkm_fifo_cgrp *, cgrp 33 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c gk110_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *cgrp, cgrp 36 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c nvkm_wo32(memory, offset + 0, (cgrp->chan_nr << 26) | (128 << 18) | cgrp 37 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c (3 << 14) | 0x00002000 | cgrp->id); cgrp 44 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gk110.c .cgrp = gk110_fifo_runlist_cgrp, cgrp 43 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gm107.c .cgrp = gk110_fifo_runlist_cgrp, cgrp 44 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c struct nvkm_fifo_cgrp *cgrp = chan->cgrp; cgrp 47 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c if (cgrp) cgrp 48 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c nvkm_wr32(device, 0x002634, cgrp->id | 0x01000000); cgrp 56 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c cgrp ? "tsg" : "channel", cgrp 57 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c cgrp ? cgrp->id : chan->base.chid, client->name); cgrp 226 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c kfree(chan->cgrp); cgrp 289 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c if (!(chan->cgrp = kmalloc(sizeof(*chan->cgrp), GFP_KERNEL))) cgrp 291 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c chan->cgrp->id = chan->base.chid; cgrp 292 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c INIT_LIST_HEAD(&chan->cgrp->head); cgrp 293 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c INIT_LIST_HEAD(&chan->cgrp->chan); cgrp 294 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogk104.c chan->cgrp->chan_nr = 0; cgrp 169 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c if (!(chan->cgrp = kmalloc(sizeof(*chan->cgrp), GFP_KERNEL))) cgrp 171 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c chan->cgrp->id = chan->base.chid; cgrp 172 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c INIT_LIST_HEAD(&chan->cgrp->head); cgrp 173 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c INIT_LIST_HEAD(&chan->cgrp->chan); cgrp 174 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gpfifogv100.c chan->cgrp->chan_nr = 0; cgrp 46 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c gv100_fifo_runlist_cgrp(struct nvkm_fifo_cgrp *cgrp, cgrp 50 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c nvkm_wo32(memory, offset + 0x4, cgrp->chan_nr); cgrp 51 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c nvkm_wo32(memory, offset + 0x8, cgrp->id); cgrp 58 drivers/gpu/drm/nouveau/nvkm/engine/fifo/gv100.c .cgrp = gv100_fifo_runlist_cgrp, cgrp 49 drivers/gpu/drm/nouveau/nvkm/engine/fifo/tu102.c .cgrp = gv100_fifo_runlist_cgrp, cgrp 84 include/linux/bpf-cgroup.h int cgroup_bpf_inherit(struct cgroup *cgrp); cgrp 85 include/linux/bpf-cgroup.h void cgroup_bpf_offline(struct cgroup *cgrp); cgrp 87 include/linux/bpf-cgroup.h int __cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 89 include/linux/bpf-cgroup.h int __cgroup_bpf_detach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 91 include/linux/bpf-cgroup.h int __cgroup_bpf_query(struct cgroup *cgrp, const union bpf_attr *attr, cgrp 95 include/linux/bpf-cgroup.h int cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 97 include/linux/bpf-cgroup.h int cgroup_bpf_detach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 99 include/linux/bpf-cgroup.h int cgroup_bpf_query(struct cgroup *cgrp, const union bpf_attr *attr, cgrp 339 include/linux/bpf-cgroup.h static inline int cgroup_bpf_inherit(struct cgroup *cgrp) { return 0; } cgrp 340 include/linux/bpf-cgroup.h static inline void cgroup_bpf_offline(struct cgroup *cgrp) {} cgrp 509 include/linux/cgroup-defs.h struct cgroup cgrp; cgrp 414 include/linux/cgroup.h static inline void cgroup_get(struct cgroup *cgrp) cgrp 416 include/linux/cgroup.h css_get(&cgrp->self); cgrp 419 include/linux/cgroup.h static inline bool cgroup_tryget(struct cgroup *cgrp) cgrp 421 include/linux/cgroup.h return css_tryget(&cgrp->self); cgrp 424 include/linux/cgroup.h static inline void cgroup_put(struct cgroup *cgrp) cgrp 426 include/linux/cgroup.h css_put(&cgrp->self); cgrp 547 include/linux/cgroup.h static inline struct cgroup *cgroup_parent(struct cgroup *cgrp) cgrp 549 include/linux/cgroup.h struct cgroup_subsys_state *parent_css = cgrp->self.parent; cgrp 565 include/linux/cgroup.h static inline bool cgroup_is_descendant(struct cgroup *cgrp, cgrp 568 include/linux/cgroup.h if (cgrp->root != ancestor->root || cgrp->level < ancestor->level) cgrp 570 include/linux/cgroup.h return cgrp->ancestor_ids[ancestor->level] == ancestor->id; cgrp 584 include/linux/cgroup.h static inline struct cgroup *cgroup_ancestor(struct cgroup *cgrp, cgrp 587 include/linux/cgroup.h if (cgrp->level < ancestor_level) cgrp 589 include/linux/cgroup.h while (cgrp && cgrp->level > ancestor_level) cgrp 590 include/linux/cgroup.h cgrp = cgroup_parent(cgrp); cgrp 591 include/linux/cgroup.h return cgrp; cgrp 612 include/linux/cgroup.h static inline bool cgroup_is_populated(struct cgroup *cgrp) cgrp 614 include/linux/cgroup.h return cgrp->nr_populated_csets + cgrp->nr_populated_domain_children + cgrp 615 include/linux/cgroup.h cgrp->nr_populated_threaded_children; cgrp 619 include/linux/cgroup.h static inline ino_t cgroup_ino(struct cgroup *cgrp) cgrp 621 include/linux/cgroup.h return cgrp->kn->id.ino; cgrp 648 include/linux/cgroup.h static inline int cgroup_name(struct cgroup *cgrp, char *buf, size_t buflen) cgrp 650 include/linux/cgroup.h return kernfs_name(cgrp->kn, buf, buflen); cgrp 653 include/linux/cgroup.h static inline int cgroup_path(struct cgroup *cgrp, char *buf, size_t buflen) cgrp 655 include/linux/cgroup.h return kernfs_path(cgrp->kn, buf, buflen); cgrp 658 include/linux/cgroup.h static inline void pr_cont_cgroup_name(struct cgroup *cgrp) cgrp 660 include/linux/cgroup.h pr_cont_kernfs_name(cgrp->kn); cgrp 663 include/linux/cgroup.h static inline void pr_cont_cgroup_path(struct cgroup *cgrp) cgrp 665 include/linux/cgroup.h pr_cont_kernfs_path(cgrp->kn); cgrp 668 include/linux/cgroup.h static inline struct psi_group *cgroup_psi(struct cgroup *cgrp) cgrp 670 include/linux/cgroup.h return &cgrp->psi; cgrp 692 include/linux/cgroup.h static inline union kernfs_node_id *cgroup_get_kernfs_id(struct cgroup *cgrp) cgrp 694 include/linux/cgroup.h return &cgrp->kn->id; cgrp 723 include/linux/cgroup.h static inline union kernfs_node_id *cgroup_get_kernfs_id(struct cgroup *cgrp) cgrp 728 include/linux/cgroup.h static inline struct cgroup *cgroup_parent(struct cgroup *cgrp) cgrp 733 include/linux/cgroup.h static inline struct psi_group *cgroup_psi(struct cgroup *cgrp) cgrp 752 include/linux/cgroup.h void cgroup_rstat_updated(struct cgroup *cgrp, int cpu); cgrp 753 include/linux/cgroup.h void cgroup_rstat_flush(struct cgroup *cgrp); cgrp 754 include/linux/cgroup.h void cgroup_rstat_flush_irqsafe(struct cgroup *cgrp); cgrp 755 include/linux/cgroup.h void cgroup_rstat_flush_hold(struct cgroup *cgrp); cgrp 770 include/linux/cgroup.h void __cgroup_account_cputime(struct cgroup *cgrp, u64 delta_exec); cgrp 771 include/linux/cgroup.h void __cgroup_account_cputime_field(struct cgroup *cgrp, cgrp 777 include/linux/cgroup.h struct cgroup *cgrp; cgrp 782 include/linux/cgroup.h cgrp = task_dfl_cgroup(task); cgrp 783 include/linux/cgroup.h if (cgroup_parent(cgrp)) cgrp 784 include/linux/cgroup.h __cgroup_account_cputime(cgrp, delta_exec); cgrp 792 include/linux/cgroup.h struct cgroup *cgrp; cgrp 797 include/linux/cgroup.h cgrp = task_dfl_cgroup(task); cgrp 798 include/linux/cgroup.h if (cgroup_parent(cgrp)) cgrp 799 include/linux/cgroup.h __cgroup_account_cputime_field(cgrp, index, delta_exec); cgrp 839 include/linux/cgroup.h return &cgrp_dfl_root.cgrp; cgrp 841 include/linux/cgroup.h return (struct cgroup *)(unsigned long)v ?: &cgrp_dfl_root.cgrp; cgrp 872 include/linux/cgroup.h int cgroup_path_ns(struct cgroup *cgrp, char *buf, size_t buflen, cgrp 903 include/linux/cgroup.h void cgroup_update_frozen(struct cgroup *cgrp); cgrp 904 include/linux/cgroup.h void cgroup_freeze(struct cgroup *cgrp, bool freeze); cgrp 943 include/linux/cgroup.h static inline void cgroup_bpf_get(struct cgroup *cgrp) cgrp 945 include/linux/cgroup.h percpu_ref_get(&cgrp->bpf.refcnt); cgrp 948 include/linux/cgroup.h static inline void cgroup_bpf_put(struct cgroup *cgrp) cgrp 950 include/linux/cgroup.h percpu_ref_put(&cgrp->bpf.refcnt); cgrp 955 include/linux/cgroup.h static inline void cgroup_bpf_get(struct cgroup *cgrp) {} cgrp 956 include/linux/cgroup.h static inline void cgroup_bpf_put(struct cgroup *cgrp) {} cgrp 721 include/linux/perf_event.h struct perf_cgroup *cgrp; /* cgroup event is attach to */ cgrp 817 include/linux/perf_event.h struct perf_cgroup *cgrp; cgrp 28 include/linux/psi.h int psi_cgroup_alloc(struct cgroup *cgrp); cgrp 29 include/linux/psi.h void psi_cgroup_free(struct cgroup *cgrp); cgrp 48 include/linux/psi.h static inline int psi_cgroup_alloc(struct cgroup *cgrp) cgrp 52 include/linux/psi.h static inline void psi_cgroup_free(struct cgroup *cgrp) cgrp 56 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 58 include/trace/events/cgroup.h TP_ARGS(cgrp, path), cgrp 68 include/trace/events/cgroup.h __entry->root = cgrp->root->hierarchy_id; cgrp 69 include/trace/events/cgroup.h __entry->id = cgrp->id; cgrp 70 include/trace/events/cgroup.h __entry->level = cgrp->level; cgrp 80 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 82 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 87 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 89 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 94 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 96 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 101 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 103 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 108 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 110 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 115 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path), cgrp 117 include/trace/events/cgroup.h TP_ARGS(cgrp, path) cgrp 168 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path, int val), cgrp 170 include/trace/events/cgroup.h TP_ARGS(cgrp, path, val), cgrp 181 include/trace/events/cgroup.h __entry->root = cgrp->root->hierarchy_id; cgrp 182 include/trace/events/cgroup.h __entry->id = cgrp->id; cgrp 183 include/trace/events/cgroup.h __entry->level = cgrp->level; cgrp 195 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path, int val), cgrp 197 include/trace/events/cgroup.h TP_ARGS(cgrp, path, val) cgrp 202 include/trace/events/cgroup.h TP_PROTO(struct cgroup *cgrp, const char *path, int val), cgrp 204 include/trace/events/cgroup.h TP_ARGS(cgrp, path, val) cgrp 25 kernel/bpf/cgroup.c void cgroup_bpf_offline(struct cgroup *cgrp) cgrp 27 kernel/bpf/cgroup.c cgroup_get(cgrp); cgrp 28 kernel/bpf/cgroup.c percpu_ref_kill(&cgrp->bpf.refcnt); cgrp 38 kernel/bpf/cgroup.c struct cgroup *p, *cgrp = container_of(work, struct cgroup, cgrp 46 kernel/bpf/cgroup.c for (type = 0; type < ARRAY_SIZE(cgrp->bpf.progs); type++) { cgrp 47 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; cgrp 61 kernel/bpf/cgroup.c cgrp->bpf.effective[type], cgrp 68 kernel/bpf/cgroup.c for (p = cgroup_parent(cgrp); p; p = cgroup_parent(p)) cgrp 71 kernel/bpf/cgroup.c percpu_ref_exit(&cgrp->bpf.refcnt); cgrp 72 kernel/bpf/cgroup.c cgroup_put(cgrp); cgrp 82 kernel/bpf/cgroup.c struct cgroup *cgrp = container_of(ref, struct cgroup, bpf.refcnt); cgrp 84 kernel/bpf/cgroup.c INIT_WORK(&cgrp->bpf.release_work, cgroup_bpf_release); cgrp 85 kernel/bpf/cgroup.c queue_work(system_wq, &cgrp->bpf.release_work); cgrp 108 kernel/bpf/cgroup.c static bool hierarchy_allows_attach(struct cgroup *cgrp, cgrp 114 kernel/bpf/cgroup.c p = cgroup_parent(cgrp); cgrp 138 kernel/bpf/cgroup.c static int compute_effective_progs(struct cgroup *cgrp, cgrp 145 kernel/bpf/cgroup.c struct cgroup *p = cgrp; cgrp 161 kernel/bpf/cgroup.c p = cgrp; cgrp 182 kernel/bpf/cgroup.c static void activate_effective_progs(struct cgroup *cgrp, cgrp 186 kernel/bpf/cgroup.c rcu_swap_protected(cgrp->bpf.effective[type], old_array, cgrp 198 kernel/bpf/cgroup.c int cgroup_bpf_inherit(struct cgroup *cgrp) cgrp 203 kernel/bpf/cgroup.c #define NR ARRAY_SIZE(cgrp->bpf.effective) cgrp 208 kernel/bpf/cgroup.c ret = percpu_ref_init(&cgrp->bpf.refcnt, cgroup_bpf_release_fn, 0, cgrp 213 kernel/bpf/cgroup.c for (p = cgroup_parent(cgrp); p; p = cgroup_parent(p)) cgrp 217 kernel/bpf/cgroup.c INIT_LIST_HEAD(&cgrp->bpf.progs[i]); cgrp 220 kernel/bpf/cgroup.c if (compute_effective_progs(cgrp, i, &arrays[i])) cgrp 224 kernel/bpf/cgroup.c activate_effective_progs(cgrp, i, arrays[i]); cgrp 231 kernel/bpf/cgroup.c for (p = cgroup_parent(cgrp); p; p = cgroup_parent(p)) cgrp 234 kernel/bpf/cgroup.c percpu_ref_exit(&cgrp->bpf.refcnt); cgrp 239 kernel/bpf/cgroup.c static int update_effective_progs(struct cgroup *cgrp, cgrp 246 kernel/bpf/cgroup.c css_for_each_descendant_pre(css, &cgrp->self) { cgrp 258 kernel/bpf/cgroup.c css_for_each_descendant_pre(css, &cgrp->self) { cgrp 279 kernel/bpf/cgroup.c css_for_each_descendant_pre(css, &cgrp->self) { cgrp 301 kernel/bpf/cgroup.c int __cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 304 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; cgrp 317 kernel/bpf/cgroup.c if (!hierarchy_allows_attach(cgrp, type, flags)) cgrp 320 kernel/bpf/cgroup.c if (!list_empty(progs) && cgrp->bpf.flags[type] != flags) cgrp 386 kernel/bpf/cgroup.c cgrp->bpf.flags[type] = flags; cgrp 388 kernel/bpf/cgroup.c err = update_effective_progs(cgrp, type); cgrp 403 kernel/bpf/cgroup.c bpf_cgroup_storage_link(storage[stype], cgrp, type); cgrp 412 kernel/bpf/cgroup.c bpf_cgroup_storage_link(old_storage[stype], cgrp, type); cgrp 430 kernel/bpf/cgroup.c int __cgroup_bpf_detach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 433 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; cgrp 435 kernel/bpf/cgroup.c u32 flags = cgrp->bpf.flags[type]; cgrp 475 kernel/bpf/cgroup.c err = update_effective_progs(cgrp, type); cgrp 488 kernel/bpf/cgroup.c cgrp->bpf.flags[type] = 0; cgrp 501 kernel/bpf/cgroup.c int __cgroup_bpf_query(struct cgroup *cgrp, const union bpf_attr *attr, cgrp 506 kernel/bpf/cgroup.c struct list_head *progs = &cgrp->bpf.progs[type]; cgrp 507 kernel/bpf/cgroup.c u32 flags = cgrp->bpf.flags[type]; cgrp 511 kernel/bpf/cgroup.c effective = rcu_dereference_protected(cgrp->bpf.effective[type], cgrp 552 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 555 kernel/bpf/cgroup.c cgrp = cgroup_get_from_fd(attr->target_fd); cgrp 556 kernel/bpf/cgroup.c if (IS_ERR(cgrp)) cgrp 557 kernel/bpf/cgroup.c return PTR_ERR(cgrp); cgrp 559 kernel/bpf/cgroup.c ret = cgroup_bpf_attach(cgrp, prog, attr->attach_type, cgrp 561 kernel/bpf/cgroup.c cgroup_put(cgrp); cgrp 568 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 571 kernel/bpf/cgroup.c cgrp = cgroup_get_from_fd(attr->target_fd); cgrp 572 kernel/bpf/cgroup.c if (IS_ERR(cgrp)) cgrp 573 kernel/bpf/cgroup.c return PTR_ERR(cgrp); cgrp 579 kernel/bpf/cgroup.c ret = cgroup_bpf_detach(cgrp, prog, attr->attach_type, 0); cgrp 583 kernel/bpf/cgroup.c cgroup_put(cgrp); cgrp 590 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 593 kernel/bpf/cgroup.c cgrp = cgroup_get_from_fd(attr->query.target_fd); cgrp 594 kernel/bpf/cgroup.c if (IS_ERR(cgrp)) cgrp 595 kernel/bpf/cgroup.c return PTR_ERR(cgrp); cgrp 597 kernel/bpf/cgroup.c ret = cgroup_bpf_query(cgrp, attr, uattr); cgrp 599 kernel/bpf/cgroup.c cgroup_put(cgrp); cgrp 633 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 642 kernel/bpf/cgroup.c cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 652 kernel/bpf/cgroup.c cgrp->bpf.effective[type], skb, __bpf_prog_run_save_cb); cgrp 654 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], skb, cgrp 682 kernel/bpf/cgroup.c struct cgroup *cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 685 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], sk, BPF_PROG_RUN); cgrp 714 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 728 kernel/bpf/cgroup.c cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 729 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], &ctx, BPF_PROG_RUN); cgrp 755 kernel/bpf/cgroup.c struct cgroup *cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 758 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], sock_ops, cgrp 767 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 776 kernel/bpf/cgroup.c cgrp = task_dfl_cgroup(current); cgrp 777 kernel/bpf/cgroup.c allow = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], &ctx, cgrp 901 kernel/bpf/cgroup.c struct cgroup *cgrp; cgrp 935 kernel/bpf/cgroup.c cgrp = task_dfl_cgroup(current); cgrp 936 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[type], &ctx, BPF_PROG_RUN); cgrp 953 kernel/bpf/cgroup.c static bool __cgroup_bpf_prog_array_is_empty(struct cgroup *cgrp, cgrp 960 kernel/bpf/cgroup.c prog_array = rcu_dereference(cgrp->bpf.effective[attach_type]); cgrp 990 kernel/bpf/cgroup.c struct cgroup *cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 1003 kernel/bpf/cgroup.c __cgroup_bpf_prog_array_is_empty(cgrp, BPF_CGROUP_SETSOCKOPT)) cgrp 1024 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[BPF_CGROUP_SETSOCKOPT], cgrp 1062 kernel/bpf/cgroup.c struct cgroup *cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 1076 kernel/bpf/cgroup.c __cgroup_bpf_prog_array_is_empty(cgrp, BPF_CGROUP_GETSOCKOPT)) cgrp 1108 kernel/bpf/cgroup.c ret = BPF_PROG_RUN_ARRAY(cgrp->bpf.effective[BPF_CGROUP_GETSOCKOPT], cgrp 318 kernel/bpf/helpers.c struct cgroup *cgrp = task_dfl_cgroup(current); cgrp 320 kernel/bpf/helpers.c return cgrp->kn->id.id; cgrp 28 kernel/cgroup/cgroup-internal.h #define TRACE_CGROUP_PATH(type, cgrp, ...) \ cgrp 34 kernel/cgroup/cgroup-internal.h cgroup_path(cgrp, trace_cgroup_path, \ cgrp 36 kernel/cgroup/cgroup-internal.h trace_cgroup_##type(cgrp, trace_cgroup_path, \ cgrp 78 kernel/cgroup/cgroup-internal.h struct cgroup *cgrp; cgrp 168 kernel/cgroup/cgroup-internal.h static inline bool cgroup_is_dead(const struct cgroup *cgrp) cgrp 170 kernel/cgroup/cgroup-internal.h return !(cgrp->self.flags & CSS_ONLINE); cgrp 173 kernel/cgroup/cgroup-internal.h static inline bool notify_on_release(const struct cgroup *cgrp) cgrp 175 kernel/cgroup/cgroup-internal.h return test_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); cgrp 206 kernel/cgroup/cgroup-internal.h bool cgroup_on_dfl(const struct cgroup *cgrp); cgrp 207 kernel/cgroup/cgroup-internal.h bool cgroup_is_thread_root(struct cgroup *cgrp); cgrp 208 kernel/cgroup/cgroup-internal.h bool cgroup_is_threaded(struct cgroup *cgrp); cgrp 215 kernel/cgroup/cgroup-internal.h int cgroup_path_ns_locked(struct cgroup *cgrp, char *buf, size_t buflen, cgrp 239 kernel/cgroup/cgroup-internal.h void cgroup_lock_and_drain_offline(struct cgroup *cgrp); cgrp 246 kernel/cgroup/cgroup-internal.h int __cgroup_task_count(const struct cgroup *cgrp); cgrp 247 kernel/cgroup/cgroup-internal.h int cgroup_task_count(const struct cgroup *cgrp); cgrp 252 kernel/cgroup/cgroup-internal.h int cgroup_rstat_init(struct cgroup *cgrp); cgrp 253 kernel/cgroup/cgroup-internal.h void cgroup_rstat_exit(struct cgroup *cgrp); cgrp 271 kernel/cgroup/cgroup-internal.h void cgroup1_pidlist_destroy_all(struct cgroup *cgrp); cgrp 273 kernel/cgroup/cgroup-internal.h void cgroup1_check_for_release(struct cgroup *cgrp); cgrp 200 kernel/cgroup/cgroup-v1.c void cgroup1_pidlist_destroy_all(struct cgroup *cgrp) cgrp 204 kernel/cgroup/cgroup-v1.c mutex_lock(&cgrp->pidlist_mutex); cgrp 205 kernel/cgroup/cgroup-v1.c list_for_each_entry_safe(l, tmp_l, &cgrp->pidlists, links) cgrp 207 kernel/cgroup/cgroup-v1.c mutex_unlock(&cgrp->pidlist_mutex); cgrp 210 kernel/cgroup/cgroup-v1.c BUG_ON(!list_empty(&cgrp->pidlists)); cgrp 281 kernel/cgroup/cgroup-v1.c static struct cgroup_pidlist *cgroup_pidlist_find(struct cgroup *cgrp, cgrp 288 kernel/cgroup/cgroup-v1.c lockdep_assert_held(&cgrp->pidlist_mutex); cgrp 290 kernel/cgroup/cgroup-v1.c list_for_each_entry(l, &cgrp->pidlists, links) cgrp 302 kernel/cgroup/cgroup-v1.c static struct cgroup_pidlist *cgroup_pidlist_find_create(struct cgroup *cgrp, cgrp 307 kernel/cgroup/cgroup-v1.c lockdep_assert_held(&cgrp->pidlist_mutex); cgrp 309 kernel/cgroup/cgroup-v1.c l = cgroup_pidlist_find(cgrp, type); cgrp 322 kernel/cgroup/cgroup-v1.c l->owner = cgrp; cgrp 323 kernel/cgroup/cgroup-v1.c list_add(&l->links, &cgrp->pidlists); cgrp 330 kernel/cgroup/cgroup-v1.c static int pidlist_array_load(struct cgroup *cgrp, enum cgroup_filetype type, cgrp 340 kernel/cgroup/cgroup-v1.c lockdep_assert_held(&cgrp->pidlist_mutex); cgrp 348 kernel/cgroup/cgroup-v1.c length = cgroup_task_count(cgrp); cgrp 353 kernel/cgroup/cgroup-v1.c css_task_iter_start(&cgrp->self, 0, &it); cgrp 372 kernel/cgroup/cgroup-v1.c l = cgroup_pidlist_find_create(cgrp, type); cgrp 401 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp = seq_css(s)->cgroup; cgrp 407 kernel/cgroup/cgroup-v1.c mutex_lock(&cgrp->pidlist_mutex); cgrp 416 kernel/cgroup/cgroup-v1.c of->priv = cgroup_pidlist_find(cgrp, type); cgrp 423 kernel/cgroup/cgroup-v1.c ret = pidlist_array_load(cgrp, type, cgrp 495 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp; cgrp 500 kernel/cgroup/cgroup-v1.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 501 kernel/cgroup/cgroup-v1.c if (!cgrp) cgrp 523 kernel/cgroup/cgroup-v1.c ret = cgroup_attach_task(cgrp, task, threadgroup); cgrp 548 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp; cgrp 550 kernel/cgroup/cgroup-v1.c BUILD_BUG_ON(sizeof(cgrp->root->release_agent_path) < PATH_MAX); cgrp 552 kernel/cgroup/cgroup-v1.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 553 kernel/cgroup/cgroup-v1.c if (!cgrp) cgrp 556 kernel/cgroup/cgroup-v1.c strlcpy(cgrp->root->release_agent_path, strstrip(buf), cgrp 557 kernel/cgroup/cgroup-v1.c sizeof(cgrp->root->release_agent_path)); cgrp 565 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 568 kernel/cgroup/cgroup-v1.c seq_puts(seq, cgrp->root->release_agent_path); cgrp 693 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp; cgrp 710 kernel/cgroup/cgroup-v1.c cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); cgrp 711 kernel/cgroup/cgroup-v1.c if (!cgrp || cgroup_is_dead(cgrp)) { cgrp 718 kernel/cgroup/cgroup-v1.c css_task_iter_start(&cgrp->self, 0, &it); cgrp 745 kernel/cgroup/cgroup-v1.c void cgroup1_check_for_release(struct cgroup *cgrp) cgrp 747 kernel/cgroup/cgroup-v1.c if (notify_on_release(cgrp) && !cgroup_is_populated(cgrp) && cgrp 748 kernel/cgroup/cgroup-v1.c !css_has_online_children(&cgrp->self) && !cgroup_is_dead(cgrp)) cgrp 749 kernel/cgroup/cgroup-v1.c schedule_work(&cgrp->release_agent_work); cgrp 777 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp = cgrp 786 kernel/cgroup/cgroup-v1.c agentbuf = kstrdup(cgrp->root->release_agent_path, GFP_KERNEL); cgrp 791 kernel/cgroup/cgroup-v1.c ret = cgroup_path_ns_locked(cgrp, pathbuf, PATH_MAX, &init_cgroup_ns); cgrp 821 kernel/cgroup/cgroup-v1.c struct cgroup *cgrp = kn->priv; cgrp 841 kernel/cgroup/cgroup-v1.c TRACE_CGROUP_PATH(rename, cgrp); cgrp 872 kernel/cgroup/cgroup-v1.c if (test_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags)) cgrp 1049 kernel/cgroup/cgroup-v1.c cgroup_lock_and_drain_offline(&cgrp_dfl_root.cgrp); cgrp 1073 kernel/cgroup/cgroup-v1.c if (!list_empty(&root->cgrp.self.children)) { cgrp 1137 kernel/cgroup/cgroup-v1.c if (!percpu_ref_tryget_live(&ss->root->cgrp.self.refcnt)) cgrp 1139 kernel/cgroup/cgroup-v1.c cgroup_put(&ss->root->cgrp); cgrp 1211 kernel/cgroup/cgroup-v1.c cgroup_lock_and_drain_offline(&cgrp_dfl_root.cgrp); cgrp 1214 kernel/cgroup/cgroup-v1.c if (!ret && !percpu_ref_tryget_live(&ctx->root->cgrp.self.refcnt)) cgrp 1222 kernel/cgroup/cgroup-v1.c if (!ret && percpu_ref_is_dying(&ctx->root->cgrp.self.refcnt)) { cgrp 161 kernel/cgroup/cgroup.c struct cgroup_root cgrp_dfl_root = { .cgrp.rstat_cpu = &cgrp_dfl_root_rstat_cpu }; cgrp 216 kernel/cgroup/cgroup.c static int cgroup_apply_control(struct cgroup *cgrp); cgrp 217 kernel/cgroup/cgroup.c static void cgroup_finalize_control(struct cgroup *cgrp, int ret); cgrp 220 kernel/cgroup/cgroup.c static int cgroup_destroy_locked(struct cgroup *cgrp); cgrp 221 kernel/cgroup/cgroup.c static struct cgroup_subsys_state *css_create(struct cgroup *cgrp, cgrp 226 kernel/cgroup/cgroup.c struct cgroup *cgrp, struct cftype cfts[], cgrp 298 kernel/cgroup/cgroup.c bool cgroup_on_dfl(const struct cgroup *cgrp) cgrp 300 kernel/cgroup/cgroup.c return cgrp->root == &cgrp_dfl_root; cgrp 334 kernel/cgroup/cgroup.c static bool cgroup_has_tasks(struct cgroup *cgrp) cgrp 336 kernel/cgroup/cgroup.c return cgrp->nr_populated_csets; cgrp 339 kernel/cgroup/cgroup.c bool cgroup_is_threaded(struct cgroup *cgrp) cgrp 341 kernel/cgroup/cgroup.c return cgrp->dom_cgrp != cgrp; cgrp 345 kernel/cgroup/cgroup.c static bool cgroup_is_mixable(struct cgroup *cgrp) cgrp 352 kernel/cgroup/cgroup.c return !cgroup_parent(cgrp); cgrp 356 kernel/cgroup/cgroup.c static bool cgroup_can_be_thread_root(struct cgroup *cgrp) cgrp 359 kernel/cgroup/cgroup.c if (cgroup_is_mixable(cgrp)) cgrp 363 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 367 kernel/cgroup/cgroup.c if (cgrp->nr_populated_domain_children) cgrp 371 kernel/cgroup/cgroup.c if (cgrp->subtree_control & ~cgrp_dfl_threaded_ss_mask) cgrp 378 kernel/cgroup/cgroup.c bool cgroup_is_thread_root(struct cgroup *cgrp) cgrp 381 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 385 kernel/cgroup/cgroup.c if (cgrp->nr_threaded_children) cgrp 392 kernel/cgroup/cgroup.c if (cgroup_has_tasks(cgrp) && cgrp 393 kernel/cgroup/cgroup.c (cgrp->subtree_control & cgrp_dfl_threaded_ss_mask)) cgrp 400 kernel/cgroup/cgroup.c static bool cgroup_is_valid_domain(struct cgroup *cgrp) cgrp 403 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 407 kernel/cgroup/cgroup.c while ((cgrp = cgroup_parent(cgrp))) { cgrp 408 kernel/cgroup/cgroup.c if (!cgroup_is_mixable(cgrp) && cgroup_is_thread_root(cgrp)) cgrp 410 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 418 kernel/cgroup/cgroup.c static u16 cgroup_control(struct cgroup *cgrp) cgrp 420 kernel/cgroup/cgroup.c struct cgroup *parent = cgroup_parent(cgrp); cgrp 421 kernel/cgroup/cgroup.c u16 root_ss_mask = cgrp->root->subsys_mask; cgrp 427 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 432 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 439 kernel/cgroup/cgroup.c static u16 cgroup_ss_mask(struct cgroup *cgrp) cgrp 441 kernel/cgroup/cgroup.c struct cgroup *parent = cgroup_parent(cgrp); cgrp 447 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 452 kernel/cgroup/cgroup.c return cgrp->root->subsys_mask; cgrp 466 kernel/cgroup/cgroup.c static struct cgroup_subsys_state *cgroup_css(struct cgroup *cgrp, cgrp 470 kernel/cgroup/cgroup.c return rcu_dereference_check(cgrp->subsys[ss->id], cgrp 473 kernel/cgroup/cgroup.c return &cgrp->self; cgrp 484 kernel/cgroup/cgroup.c static struct cgroup_subsys_state *cgroup_tryget_css(struct cgroup *cgrp, cgrp 490 kernel/cgroup/cgroup.c css = cgroup_css(cgrp, ss); cgrp 508 kernel/cgroup/cgroup.c static struct cgroup_subsys_state *cgroup_e_css_by_mask(struct cgroup *cgrp, cgrp 514 kernel/cgroup/cgroup.c return &cgrp->self; cgrp 520 kernel/cgroup/cgroup.c while (!(cgroup_ss_mask(cgrp) & (1 << ss->id))) { cgrp 521 kernel/cgroup/cgroup.c cgrp = cgroup_parent(cgrp); cgrp 522 kernel/cgroup/cgroup.c if (!cgrp) cgrp 526 kernel/cgroup/cgroup.c return cgroup_css(cgrp, ss); cgrp 542 kernel/cgroup/cgroup.c struct cgroup_subsys_state *cgroup_e_css(struct cgroup *cgrp, cgrp 548 kernel/cgroup/cgroup.c css = cgroup_css(cgrp, ss); cgrp 552 kernel/cgroup/cgroup.c cgrp = cgroup_parent(cgrp); cgrp 553 kernel/cgroup/cgroup.c } while (cgrp); cgrp 569 kernel/cgroup/cgroup.c struct cgroup_subsys_state *cgroup_get_e_css(struct cgroup *cgrp, cgrp 577 kernel/cgroup/cgroup.c css = cgroup_css(cgrp, ss); cgrp 581 kernel/cgroup/cgroup.c cgrp = cgroup_parent(cgrp); cgrp 582 kernel/cgroup/cgroup.c } while (cgrp); cgrp 591 kernel/cgroup/cgroup.c static void cgroup_get_live(struct cgroup *cgrp) cgrp 593 kernel/cgroup/cgroup.c WARN_ON_ONCE(cgroup_is_dead(cgrp)); cgrp 594 kernel/cgroup/cgroup.c css_get(&cgrp->self); cgrp 602 kernel/cgroup/cgroup.c int __cgroup_task_count(const struct cgroup *cgrp) cgrp 609 kernel/cgroup/cgroup.c list_for_each_entry(link, &cgrp->cset_links, cset_link) cgrp 619 kernel/cgroup/cgroup.c int cgroup_task_count(const struct cgroup *cgrp) cgrp 624 kernel/cgroup/cgroup.c count = __cgroup_task_count(cgrp); cgrp 632 kernel/cgroup/cgroup.c struct cgroup *cgrp = of->kn->parent->priv; cgrp 644 kernel/cgroup/cgroup.c return rcu_dereference_raw(cgrp->subsys[cft->ss->id]); cgrp 646 kernel/cgroup/cgroup.c return &cgrp->self; cgrp 658 kernel/cgroup/cgroup.c #define for_each_css(css, ssid, cgrp) \ cgrp 661 kernel/cgroup/cgroup.c (cgrp)->subsys[(ssid)], \ cgrp 673 kernel/cgroup/cgroup.c #define for_each_e_css(css, ssid, cgrp) \ cgrp 675 kernel/cgroup/cgroup.c if (!((css) = cgroup_e_css_by_mask(cgrp, \ cgrp 705 kernel/cgroup/cgroup.c #define cgroup_for_each_live_child(child, cgrp) \ cgrp 706 kernel/cgroup/cgroup.c list_for_each_entry((child), &(cgrp)->self.children, self.sibling) \ cgrp 713 kernel/cgroup/cgroup.c #define cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) \ cgrp 714 kernel/cgroup/cgroup.c css_for_each_descendant_pre((d_css), cgroup_css((cgrp), NULL)) \ cgrp 722 kernel/cgroup/cgroup.c #define cgroup_for_each_live_descendant_post(dsct, d_css, cgrp) \ cgrp 723 kernel/cgroup/cgroup.c css_for_each_descendant_post((d_css), cgroup_css((cgrp), NULL)) \ cgrp 755 kernel/cgroup/cgroup.c .dfl_cgrp = &cgrp_dfl_root.cgrp, cgrp 798 kernel/cgroup/cgroup.c static void cgroup_update_populated(struct cgroup *cgrp, bool populated) cgrp 806 kernel/cgroup/cgroup.c bool was_populated = cgroup_is_populated(cgrp); cgrp 809 kernel/cgroup/cgroup.c cgrp->nr_populated_csets += adj; cgrp 812 kernel/cgroup/cgroup.c cgrp->nr_populated_threaded_children += adj; cgrp 814 kernel/cgroup/cgroup.c cgrp->nr_populated_domain_children += adj; cgrp 817 kernel/cgroup/cgroup.c if (was_populated == cgroup_is_populated(cgrp)) cgrp 820 kernel/cgroup/cgroup.c cgroup1_check_for_release(cgrp); cgrp 821 kernel/cgroup/cgroup.c TRACE_CGROUP_PATH(notify_populated, cgrp, cgrp 822 kernel/cgroup/cgroup.c cgroup_is_populated(cgrp)); cgrp 823 kernel/cgroup/cgroup.c cgroup_file_notify(&cgrp->events_file); cgrp 825 kernel/cgroup/cgroup.c child = cgrp; cgrp 826 kernel/cgroup/cgroup.c cgrp = cgroup_parent(cgrp); cgrp 827 kernel/cgroup/cgroup.c } while (cgrp); cgrp 845 kernel/cgroup/cgroup.c cgroup_update_populated(link->cgrp, populated); cgrp 958 kernel/cgroup/cgroup.c if (cgroup_parent(link->cgrp)) cgrp 959 kernel/cgroup/cgroup.c cgroup_put(link->cgrp); cgrp 1031 kernel/cgroup/cgroup.c cgrp1 = link1->cgrp; cgrp 1032 kernel/cgroup/cgroup.c cgrp2 = link2->cgrp; cgrp 1061 kernel/cgroup/cgroup.c struct cgroup *cgrp, cgrp 1064 kernel/cgroup/cgroup.c struct cgroup_root *root = cgrp->root; cgrp 1081 kernel/cgroup/cgroup.c template[i] = cgroup_e_css_by_mask(cgrp, ss); cgrp 1093 kernel/cgroup/cgroup.c if (!compare_css_sets(cset, old_cset, cgrp, template)) cgrp 1147 kernel/cgroup/cgroup.c struct cgroup *cgrp) cgrp 1153 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 1154 kernel/cgroup/cgroup.c cset->dfl_cgrp = cgrp; cgrp 1158 kernel/cgroup/cgroup.c link->cgrp = cgrp; cgrp 1164 kernel/cgroup/cgroup.c list_move_tail(&link->cset_link, &cgrp->cset_links); cgrp 1167 kernel/cgroup/cgroup.c if (cgroup_parent(cgrp)) cgrp 1168 kernel/cgroup/cgroup.c cgroup_get_live(cgrp); cgrp 1180 kernel/cgroup/cgroup.c struct cgroup *cgrp) cgrp 1195 kernel/cgroup/cgroup.c cset = find_existing_css_set(old_cset, cgrp, template); cgrp 1232 kernel/cgroup/cgroup.c struct cgroup *c = link->cgrp; cgrp 1234 kernel/cgroup/cgroup.c if (c->root == cgrp->root) cgrp 1235 kernel/cgroup/cgroup.c c = cgrp; cgrp 1320 kernel/cgroup/cgroup.c struct cgroup *cgrp = &root->cgrp; cgrp 1325 kernel/cgroup/cgroup.c cgroup_lock_and_drain_offline(&cgrp_dfl_root.cgrp); cgrp 1328 kernel/cgroup/cgroup.c BUG_ON(!list_empty(&cgrp->self.children)); cgrp 1339 kernel/cgroup/cgroup.c list_for_each_entry_safe(link, tmp_link, &cgrp->cset_links, cset_link) { cgrp 1376 kernel/cgroup/cgroup.c res = &root->cgrp; cgrp 1381 kernel/cgroup/cgroup.c struct cgroup *c = link->cgrp; cgrp 1405 kernel/cgroup/cgroup.c res = &root->cgrp; cgrp 1412 kernel/cgroup/cgroup.c struct cgroup *c = link->cgrp; cgrp 1468 kernel/cgroup/cgroup.c static char *cgroup_file_name(struct cgroup *cgrp, const struct cftype *cft, cgrp 1474 kernel/cgroup/cgroup.c !(cgrp->root->flags & CGRP_ROOT_NOPREFIX)) { cgrp 1478 kernel/cgroup/cgroup.c dbg, cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name, cgrp 1565 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 1568 kernel/cgroup/cgroup.c cgrp = kn->priv; cgrp 1570 kernel/cgroup/cgroup.c cgrp = kn->parent->priv; cgrp 1575 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 1597 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 1600 kernel/cgroup/cgroup.c cgrp = kn->priv; cgrp 1602 kernel/cgroup/cgroup.c cgrp = kn->parent->priv; cgrp 1610 kernel/cgroup/cgroup.c if (!cgroup_tryget(cgrp)) cgrp 1615 kernel/cgroup/cgroup.c cgroup_lock_and_drain_offline(cgrp); cgrp 1619 kernel/cgroup/cgroup.c if (!cgroup_is_dead(cgrp)) cgrp 1620 kernel/cgroup/cgroup.c return cgrp; cgrp 1626 kernel/cgroup/cgroup.c static void cgroup_rm_file(struct cgroup *cgrp, const struct cftype *cft) cgrp 1633 kernel/cgroup/cgroup.c struct cgroup_subsys_state *css = cgroup_css(cgrp, cft->ss); cgrp 1643 kernel/cgroup/cgroup.c kernfs_remove_by_name(cgrp->kn, cgroup_file_name(cgrp, cft, name)); cgrp 1652 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 1661 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 1666 kernel/cgroup/cgroup.c cgroup_addrm_files(css, cgrp, cfts, false); cgrp 1669 kernel/cgroup/cgroup.c cgroup_addrm_files(css, cgrp, cfts, false); cgrp 1681 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 1685 kernel/cgroup/cgroup.c if ((css->flags & CSS_VISIBLE) || !cgrp->kn) cgrp 1689 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 1694 kernel/cgroup/cgroup.c ret = cgroup_addrm_files(&cgrp->self, cgrp, cfts, true); cgrp 1699 kernel/cgroup/cgroup.c ret = cgroup_addrm_files(css, cgrp, cfts, true); cgrp 1714 kernel/cgroup/cgroup.c cgroup_addrm_files(css, cgrp, cfts, false); cgrp 1721 kernel/cgroup/cgroup.c struct cgroup *dcgrp = &dst_root->cgrp; cgrp 1733 kernel/cgroup/cgroup.c if (css_next_child(NULL, cgroup_css(&ss->root->cgrp, ss)) && cgrp 1744 kernel/cgroup/cgroup.c struct cgroup *scgrp = &src_root->cgrp; cgrp 1945 kernel/cgroup/cgroup.c static void init_cgroup_housekeeping(struct cgroup *cgrp) cgrp 1950 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->self.sibling); cgrp 1951 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->self.children); cgrp 1952 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->cset_links); cgrp 1953 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->pidlists); cgrp 1954 kernel/cgroup/cgroup.c mutex_init(&cgrp->pidlist_mutex); cgrp 1955 kernel/cgroup/cgroup.c cgrp->self.cgroup = cgrp; cgrp 1956 kernel/cgroup/cgroup.c cgrp->self.flags |= CSS_ONLINE; cgrp 1957 kernel/cgroup/cgroup.c cgrp->dom_cgrp = cgrp; cgrp 1958 kernel/cgroup/cgroup.c cgrp->max_descendants = INT_MAX; cgrp 1959 kernel/cgroup/cgroup.c cgrp->max_depth = INT_MAX; cgrp 1960 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->rstat_css_list); cgrp 1961 kernel/cgroup/cgroup.c prev_cputime_init(&cgrp->prev_cputime); cgrp 1964 kernel/cgroup/cgroup.c INIT_LIST_HEAD(&cgrp->e_csets[ssid]); cgrp 1966 kernel/cgroup/cgroup.c init_waitqueue_head(&cgrp->offline_waitq); cgrp 1967 kernel/cgroup/cgroup.c INIT_WORK(&cgrp->release_agent_work, cgroup1_release_agent); cgrp 1973 kernel/cgroup/cgroup.c struct cgroup *cgrp = &root->cgrp; cgrp 1977 kernel/cgroup/cgroup.c cgrp->root = root; cgrp 1978 kernel/cgroup/cgroup.c init_cgroup_housekeeping(cgrp); cgrp 1987 kernel/cgroup/cgroup.c set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags); cgrp 1993 kernel/cgroup/cgroup.c struct cgroup *root_cgrp = &root->cgrp; cgrp 2110 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 2115 kernel/cgroup/cgroup.c cgrp = cset_cgroup_from_root(ctx->ns->root_cset, ctx->root); cgrp 2120 kernel/cgroup/cgroup.c nsdentry = kernfs_node_dentry(cgrp->kn, sb); cgrp 2131 kernel/cgroup/cgroup.c cgroup_put(&ctx->root->cgrp); cgrp 2156 kernel/cgroup/cgroup.c cgroup_get_live(&cgrp_dfl_root.cgrp); cgrp 2223 kernel/cgroup/cgroup.c if (list_empty(&root->cgrp.self.children) && root != &cgrp_dfl_root && cgrp 2224 kernel/cgroup/cgroup.c !percpu_ref_is_dying(&root->cgrp.self.refcnt)) cgrp 2225 kernel/cgroup/cgroup.c percpu_ref_kill(&root->cgrp.self.refcnt); cgrp 2226 kernel/cgroup/cgroup.c cgroup_put(&root->cgrp); cgrp 2290 kernel/cgroup/cgroup.c int cgroup_path_ns_locked(struct cgroup *cgrp, char *buf, size_t buflen, cgrp 2293 kernel/cgroup/cgroup.c struct cgroup *root = cset_cgroup_from_root(ns->root_cset, cgrp->root); cgrp 2295 kernel/cgroup/cgroup.c return kernfs_path_from_node(cgrp->kn, root->kn, buf, buflen); cgrp 2298 kernel/cgroup/cgroup.c int cgroup_path_ns(struct cgroup *cgrp, char *buf, size_t buflen, cgrp 2306 kernel/cgroup/cgroup.c ret = cgroup_path_ns_locked(cgrp, buf, buflen, ns); cgrp 2331 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 2341 kernel/cgroup/cgroup.c cgrp = task_cgroup_from_root(task, root); cgrp 2342 kernel/cgroup/cgroup.c ret = cgroup_path_ns_locked(cgrp, buf, buflen, &init_cgroup_ns); cgrp 2908 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 2910 kernel/cgroup/cgroup.c cgroup_print_ss_mask(seq, cgroup_control(cgrp)); cgrp 2917 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 2919 kernel/cgroup/cgroup.c cgroup_print_ss_mask(seq, cgrp->subtree_control); cgrp 2932 kernel/cgroup/cgroup.c static int cgroup_update_dfl_csses(struct cgroup *cgrp) cgrp 2946 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { cgrp 2984 kernel/cgroup/cgroup.c void cgroup_lock_and_drain_offline(struct cgroup *cgrp) cgrp 2995 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_post(dsct, d_css, cgrp) { cgrp 3025 kernel/cgroup/cgroup.c static void cgroup_save_control(struct cgroup *cgrp) cgrp 3030 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { cgrp 3045 kernel/cgroup/cgroup.c static void cgroup_propagate_control(struct cgroup *cgrp) cgrp 3050 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { cgrp 3066 kernel/cgroup/cgroup.c static void cgroup_restore_control(struct cgroup *cgrp) cgrp 3071 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_post(dsct, d_css, cgrp) { cgrp 3081 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 3083 kernel/cgroup/cgroup.c if (cgroup_control(cgrp) & (1 << ss->id)) cgrp 3085 kernel/cgroup/cgroup.c if (!(cgroup_ss_mask(cgrp) & (1 << ss->id))) cgrp 3087 kernel/cgroup/cgroup.c return cgroup_on_dfl(cgrp) && ss->implicit_on_dfl; cgrp 3103 kernel/cgroup/cgroup.c static int cgroup_apply_control_enable(struct cgroup *cgrp) cgrp 3110 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) { cgrp 3149 kernel/cgroup/cgroup.c static void cgroup_apply_control_disable(struct cgroup *cgrp) cgrp 3156 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_post(dsct, d_css, cgrp) { cgrp 3194 kernel/cgroup/cgroup.c static int cgroup_apply_control(struct cgroup *cgrp) cgrp 3198 kernel/cgroup/cgroup.c cgroup_propagate_control(cgrp); cgrp 3200 kernel/cgroup/cgroup.c ret = cgroup_apply_control_enable(cgrp); cgrp 3209 kernel/cgroup/cgroup.c ret = cgroup_update_dfl_csses(cgrp); cgrp 3223 kernel/cgroup/cgroup.c static void cgroup_finalize_control(struct cgroup *cgrp, int ret) cgrp 3226 kernel/cgroup/cgroup.c cgroup_restore_control(cgrp); cgrp 3227 kernel/cgroup/cgroup.c cgroup_propagate_control(cgrp); cgrp 3230 kernel/cgroup/cgroup.c cgroup_apply_control_disable(cgrp); cgrp 3233 kernel/cgroup/cgroup.c static int cgroup_vet_subtree_control_enable(struct cgroup *cgrp, u16 enable) cgrp 3242 kernel/cgroup/cgroup.c if (!cgroup_is_valid_domain(cgrp->dom_cgrp)) cgrp 3246 kernel/cgroup/cgroup.c if (cgroup_is_mixable(cgrp)) cgrp 3251 kernel/cgroup/cgroup.c if (cgroup_is_thread_root(cgrp) || cgroup_is_threaded(cgrp)) cgrp 3259 kernel/cgroup/cgroup.c if (cgroup_can_be_thread_root(cgrp) || cgroup_is_threaded(cgrp)) cgrp 3267 kernel/cgroup/cgroup.c if (cgroup_has_tasks(cgrp)) cgrp 3279 kernel/cgroup/cgroup.c struct cgroup *cgrp, *child; cgrp 3312 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, true); cgrp 3313 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3318 kernel/cgroup/cgroup.c if (cgrp->subtree_control & (1 << ssid)) { cgrp 3323 kernel/cgroup/cgroup.c if (!(cgroup_control(cgrp) & (1 << ssid))) { cgrp 3328 kernel/cgroup/cgroup.c if (!(cgrp->subtree_control & (1 << ssid))) { cgrp 3334 kernel/cgroup/cgroup.c cgroup_for_each_live_child(child, cgrp) { cgrp 3348 kernel/cgroup/cgroup.c ret = cgroup_vet_subtree_control_enable(cgrp, enable); cgrp 3353 kernel/cgroup/cgroup.c cgroup_save_control(cgrp); cgrp 3355 kernel/cgroup/cgroup.c cgrp->subtree_control |= enable; cgrp 3356 kernel/cgroup/cgroup.c cgrp->subtree_control &= ~disable; cgrp 3358 kernel/cgroup/cgroup.c ret = cgroup_apply_control(cgrp); cgrp 3359 kernel/cgroup/cgroup.c cgroup_finalize_control(cgrp, ret); cgrp 3363 kernel/cgroup/cgroup.c kernfs_activate(cgrp->kn); cgrp 3378 kernel/cgroup/cgroup.c static int cgroup_enable_threaded(struct cgroup *cgrp) cgrp 3380 kernel/cgroup/cgroup.c struct cgroup *parent = cgroup_parent(cgrp); cgrp 3389 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 3398 kernel/cgroup/cgroup.c if (cgroup_is_populated(cgrp) || cgrp 3399 kernel/cgroup/cgroup.c cgrp->subtree_control & ~cgrp_dfl_threaded_ss_mask) cgrp 3411 kernel/cgroup/cgroup.c cgroup_save_control(cgrp); cgrp 3413 kernel/cgroup/cgroup.c cgroup_for_each_live_descendant_pre(dsct, d_css, cgrp) cgrp 3414 kernel/cgroup/cgroup.c if (dsct == cgrp || cgroup_is_threaded(dsct)) cgrp 3417 kernel/cgroup/cgroup.c ret = cgroup_apply_control(cgrp); cgrp 3421 kernel/cgroup/cgroup.c cgroup_finalize_control(cgrp, ret); cgrp 3427 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 3429 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 3431 kernel/cgroup/cgroup.c else if (!cgroup_is_valid_domain(cgrp)) cgrp 3433 kernel/cgroup/cgroup.c else if (cgroup_is_thread_root(cgrp)) cgrp 3444 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 3452 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, true); cgrp 3453 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3457 kernel/cgroup/cgroup.c ret = cgroup_enable_threaded(cgrp); cgrp 3465 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 3466 kernel/cgroup/cgroup.c int descendants = READ_ONCE(cgrp->max_descendants); cgrp 3479 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 3495 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 3496 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3499 kernel/cgroup/cgroup.c cgrp->max_descendants = descendants; cgrp 3508 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 3509 kernel/cgroup/cgroup.c int depth = READ_ONCE(cgrp->max_depth); cgrp 3522 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 3538 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 3539 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3542 kernel/cgroup/cgroup.c cgrp->max_depth = depth; cgrp 3551 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 3553 kernel/cgroup/cgroup.c seq_printf(seq, "populated %d\n", cgroup_is_populated(cgrp)); cgrp 3554 kernel/cgroup/cgroup.c seq_printf(seq, "frozen %d\n", test_bit(CGRP_FROZEN, &cgrp->flags)); cgrp 3572 kernel/cgroup/cgroup.c struct cgroup *cgrp, int ssid) cgrp 3581 kernel/cgroup/cgroup.c css = cgroup_tryget_css(cgrp, ss); cgrp 3592 kernel/cgroup/cgroup.c struct cgroup __maybe_unused *cgrp = seq_css(seq)->cgroup; cgrp 3597 kernel/cgroup/cgroup.c ret = cgroup_extra_stat_show(seq, cgrp, cpu_cgrp_id); cgrp 3629 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 3631 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 3632 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3635 kernel/cgroup/cgroup.c cgroup_get(cgrp); cgrp 3638 kernel/cgroup/cgroup.c new = psi_trigger_create(&cgrp->psi, buf, nbytes, res); cgrp 3640 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 3646 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 3686 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 3688 kernel/cgroup/cgroup.c seq_printf(seq, "%d\n", cgrp->freezer.freeze); cgrp 3696 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 3707 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 3708 kernel/cgroup/cgroup.c if (!cgrp) cgrp 3711 kernel/cgroup/cgroup.c cgroup_freeze(cgrp, freeze); cgrp 3739 kernel/cgroup/cgroup.c struct cgroup *cgrp = of->kn->parent->priv; cgrp 3750 kernel/cgroup/cgroup.c if ((cgrp->root->flags & CGRP_ROOT_NS_DELEGATE) && cgrp 3752 kernel/cgroup/cgroup.c ns != &init_cgroup_ns && ns->root_cset->dfl_cgrp == cgrp) cgrp 3765 kernel/cgroup/cgroup.c css = cgroup_css(cgrp, cft->ss); cgrp 3869 kernel/cgroup/cgroup.c static int cgroup_add_file(struct cgroup_subsys_state *css, struct cgroup *cgrp, cgrp 3880 kernel/cgroup/cgroup.c kn = __kernfs_create_file(cgrp->kn, cgroup_file_name(cgrp, cft, name), cgrp 3918 kernel/cgroup/cgroup.c struct cgroup *cgrp, struct cftype cfts[], cgrp 3929 kernel/cgroup/cgroup.c if ((cft->flags & __CFTYPE_ONLY_ON_DFL) && !cgroup_on_dfl(cgrp)) cgrp 3931 kernel/cgroup/cgroup.c if ((cft->flags & __CFTYPE_NOT_ON_DFL) && cgroup_on_dfl(cgrp)) cgrp 3933 kernel/cgroup/cgroup.c if ((cft->flags & CFTYPE_NOT_ON_ROOT) && !cgroup_parent(cgrp)) cgrp 3935 kernel/cgroup/cgroup.c if ((cft->flags & CFTYPE_ONLY_ON_ROOT) && cgroup_parent(cgrp)) cgrp 3940 kernel/cgroup/cgroup.c ret = cgroup_add_file(css, cgrp, cft); cgrp 3949 kernel/cgroup/cgroup.c cgroup_rm_file(cgrp, cft); cgrp 3958 kernel/cgroup/cgroup.c struct cgroup *root = &ss->root->cgrp; cgrp 3966 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 3971 kernel/cgroup/cgroup.c ret = cgroup_addrm_files(css, cgrp, cfts, is_add); cgrp 4681 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(s)->cgroup; cgrp 4696 kernel/cgroup/cgroup.c css_task_iter_start(&cgrp->self, iter_flags, it); cgrp 4699 kernel/cgroup/cgroup.c css_task_iter_start(&cgrp->self, iter_flags, it); cgrp 4708 kernel/cgroup/cgroup.c struct cgroup *cgrp = seq_css(s)->cgroup; cgrp 4716 kernel/cgroup/cgroup.c if (cgroup_is_threaded(cgrp)) cgrp 4972 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 4983 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 4989 kernel/cgroup/cgroup.c atomic_dec(&cgrp->root->nr_cgrps); cgrp 4990 kernel/cgroup/cgroup.c cgroup1_pidlist_destroy_all(cgrp); cgrp 4991 kernel/cgroup/cgroup.c cancel_work_sync(&cgrp->release_agent_work); cgrp 4993 kernel/cgroup/cgroup.c if (cgroup_parent(cgrp)) { cgrp 5000 kernel/cgroup/cgroup.c cgroup_put(cgroup_parent(cgrp)); cgrp 5001 kernel/cgroup/cgroup.c kernfs_put(cgrp->kn); cgrp 5002 kernel/cgroup/cgroup.c psi_cgroup_free(cgrp); cgrp 5003 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 5004 kernel/cgroup/cgroup.c cgroup_rstat_exit(cgrp); cgrp 5005 kernel/cgroup/cgroup.c kfree(cgrp); cgrp 5012 kernel/cgroup/cgroup.c cgroup_destroy_root(cgrp->root); cgrp 5022 kernel/cgroup/cgroup.c struct cgroup *cgrp = css->cgroup; cgrp 5032 kernel/cgroup/cgroup.c cgroup_rstat_flush(cgrp); cgrp 5043 kernel/cgroup/cgroup.c TRACE_CGROUP_PATH(release, cgrp); cgrp 5045 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp)) cgrp 5046 kernel/cgroup/cgroup.c cgroup_rstat_flush(cgrp); cgrp 5049 kernel/cgroup/cgroup.c for (tcgrp = cgroup_parent(cgrp); tcgrp; cgrp 5054 kernel/cgroup/cgroup.c cgroup_idr_remove(&cgrp->root->cgroup_idr, cgrp->id); cgrp 5055 kernel/cgroup/cgroup.c cgrp->id = -1; cgrp 5064 kernel/cgroup/cgroup.c if (cgrp->kn) cgrp 5065 kernel/cgroup/cgroup.c RCU_INIT_POINTER(*(void __rcu __force **)&cgrp->kn->priv, cgrp 5085 kernel/cgroup/cgroup.c struct cgroup_subsys *ss, struct cgroup *cgrp) cgrp 5089 kernel/cgroup/cgroup.c cgroup_get_live(cgrp); cgrp 5092 kernel/cgroup/cgroup.c css->cgroup = cgrp; cgrp 5101 kernel/cgroup/cgroup.c if (cgroup_parent(cgrp)) { cgrp 5102 kernel/cgroup/cgroup.c css->parent = cgroup_css(cgroup_parent(cgrp), ss); cgrp 5106 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp) && ss->css_rstat_flush) cgrp 5107 kernel/cgroup/cgroup.c list_add_rcu(&css->rstat_css_node, &cgrp->rstat_css_list); cgrp 5109 kernel/cgroup/cgroup.c BUG_ON(cgroup_css(cgrp, ss)); cgrp 5161 kernel/cgroup/cgroup.c static struct cgroup_subsys_state *css_create(struct cgroup *cgrp, cgrp 5164 kernel/cgroup/cgroup.c struct cgroup *parent = cgroup_parent(cgrp); cgrp 5177 kernel/cgroup/cgroup.c init_and_link_css(css, ss, cgrp); cgrp 5224 kernel/cgroup/cgroup.c struct cgroup *cgrp, *tcgrp; cgrp 5229 kernel/cgroup/cgroup.c cgrp = kzalloc(struct_size(cgrp, ancestor_ids, (level + 1)), cgrp 5231 kernel/cgroup/cgroup.c if (!cgrp) cgrp 5234 kernel/cgroup/cgroup.c ret = percpu_ref_init(&cgrp->self.refcnt, css_release, 0, GFP_KERNEL); cgrp 5239 kernel/cgroup/cgroup.c ret = cgroup_rstat_init(cgrp); cgrp 5248 kernel/cgroup/cgroup.c cgrp->id = cgroup_idr_alloc(&root->cgroup_idr, NULL, 2, 0, GFP_KERNEL); cgrp 5249 kernel/cgroup/cgroup.c if (cgrp->id < 0) { cgrp 5254 kernel/cgroup/cgroup.c init_cgroup_housekeeping(cgrp); cgrp 5256 kernel/cgroup/cgroup.c cgrp->self.parent = &parent->self; cgrp 5257 kernel/cgroup/cgroup.c cgrp->root = root; cgrp 5258 kernel/cgroup/cgroup.c cgrp->level = level; cgrp 5260 kernel/cgroup/cgroup.c ret = psi_cgroup_alloc(cgrp); cgrp 5264 kernel/cgroup/cgroup.c ret = cgroup_bpf_inherit(cgrp); cgrp 5272 kernel/cgroup/cgroup.c cgrp->freezer.e_freeze = parent->freezer.e_freeze; cgrp 5273 kernel/cgroup/cgroup.c if (cgrp->freezer.e_freeze) { cgrp 5280 kernel/cgroup/cgroup.c set_bit(CGRP_FREEZE, &cgrp->flags); cgrp 5281 kernel/cgroup/cgroup.c set_bit(CGRP_FROZEN, &cgrp->flags); cgrp 5285 kernel/cgroup/cgroup.c for (tcgrp = cgrp; tcgrp; tcgrp = cgroup_parent(tcgrp)) { cgrp 5286 kernel/cgroup/cgroup.c cgrp->ancestor_ids[tcgrp->level] = tcgrp->id; cgrp 5288 kernel/cgroup/cgroup.c if (tcgrp != cgrp) { cgrp 5296 kernel/cgroup/cgroup.c if (cgrp->freezer.e_freeze) cgrp 5303 kernel/cgroup/cgroup.c set_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); cgrp 5306 kernel/cgroup/cgroup.c set_bit(CGRP_CPUSET_CLONE_CHILDREN, &cgrp->flags); cgrp 5308 kernel/cgroup/cgroup.c cgrp->self.serial_nr = css_serial_nr_next++; cgrp 5311 kernel/cgroup/cgroup.c list_add_tail_rcu(&cgrp->self.sibling, &cgroup_parent(cgrp)->self.children); cgrp 5319 kernel/cgroup/cgroup.c cgroup_idr_replace(&root->cgroup_idr, cgrp, cgrp->id); cgrp 5325 kernel/cgroup/cgroup.c if (!cgroup_on_dfl(cgrp)) cgrp 5326 kernel/cgroup/cgroup.c cgrp->subtree_control = cgroup_control(cgrp); cgrp 5328 kernel/cgroup/cgroup.c cgroup_propagate_control(cgrp); cgrp 5330 kernel/cgroup/cgroup.c return cgrp; cgrp 5333 kernel/cgroup/cgroup.c psi_cgroup_free(cgrp); cgrp 5335 kernel/cgroup/cgroup.c cgroup_idr_remove(&root->cgroup_idr, cgrp->id); cgrp 5338 kernel/cgroup/cgroup.c cgroup_rstat_exit(cgrp); cgrp 5340 kernel/cgroup/cgroup.c percpu_ref_exit(&cgrp->self.refcnt); cgrp 5342 kernel/cgroup/cgroup.c kfree(cgrp); cgrp 5371 kernel/cgroup/cgroup.c struct cgroup *parent, *cgrp; cgrp 5388 kernel/cgroup/cgroup.c cgrp = cgroup_create(parent); cgrp 5389 kernel/cgroup/cgroup.c if (IS_ERR(cgrp)) { cgrp 5390 kernel/cgroup/cgroup.c ret = PTR_ERR(cgrp); cgrp 5395 kernel/cgroup/cgroup.c kn = kernfs_create_dir(parent->kn, name, mode, cgrp); cgrp 5400 kernel/cgroup/cgroup.c cgrp->kn = kn; cgrp 5412 kernel/cgroup/cgroup.c ret = css_populate_dir(&cgrp->self); cgrp 5416 kernel/cgroup/cgroup.c ret = cgroup_apply_control_enable(cgrp); cgrp 5420 kernel/cgroup/cgroup.c TRACE_CGROUP_PATH(mkdir, cgrp); cgrp 5429 kernel/cgroup/cgroup.c cgroup_destroy_locked(cgrp); cgrp 5536 kernel/cgroup/cgroup.c static int cgroup_destroy_locked(struct cgroup *cgrp) cgrp 5539 kernel/cgroup/cgroup.c struct cgroup *tcgrp, *parent = cgroup_parent(cgrp); cgrp 5550 kernel/cgroup/cgroup.c if (cgroup_is_populated(cgrp)) cgrp 5558 kernel/cgroup/cgroup.c if (css_has_online_children(&cgrp->self)) cgrp 5567 kernel/cgroup/cgroup.c cgrp->self.flags &= ~CSS_ONLINE; cgrp 5570 kernel/cgroup/cgroup.c list_for_each_entry(link, &cgrp->cset_links, cset_link) cgrp 5575 kernel/cgroup/cgroup.c for_each_css(css, ssid, cgrp) cgrp 5579 kernel/cgroup/cgroup.c css_clear_dir(&cgrp->self); cgrp 5580 kernel/cgroup/cgroup.c kernfs_remove(cgrp->kn); cgrp 5582 kernel/cgroup/cgroup.c if (parent && cgroup_is_threaded(cgrp)) cgrp 5586 kernel/cgroup/cgroup.c for (tcgrp = cgroup_parent(cgrp); tcgrp; tcgrp = cgroup_parent(tcgrp)) { cgrp 5593 kernel/cgroup/cgroup.c if (test_bit(CGRP_FROZEN, &cgrp->flags)) cgrp 5600 kernel/cgroup/cgroup.c cgroup_bpf_offline(cgrp); cgrp 5603 kernel/cgroup/cgroup.c percpu_ref_kill(&cgrp->self.refcnt); cgrp 5610 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 5613 kernel/cgroup/cgroup.c cgrp = cgroup_kn_lock_live(kn, false); cgrp 5614 kernel/cgroup/cgroup.c if (!cgrp) cgrp 5617 kernel/cgroup/cgroup.c ret = cgroup_destroy_locked(cgrp); cgrp 5619 kernel/cgroup/cgroup.c TRACE_CGROUP_PATH(rmdir, cgrp); cgrp 5645 kernel/cgroup/cgroup.c css = ss->css_alloc(cgroup_css(&cgrp_dfl_root.cgrp, ss)); cgrp 5648 kernel/cgroup/cgroup.c init_and_link_css(css, ss, &cgrp_dfl_root.cgrp); cgrp 5699 kernel/cgroup/cgroup.c cgrp_dfl_root.cgrp.self.flags |= CSS_NO_REF; cgrp 5775 kernel/cgroup/cgroup.c &cgrp_dfl_root.cgrp.e_csets[ssid]); cgrp 5887 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 5904 kernel/cgroup/cgroup.c cgrp = task_cgroup_from_root(tsk, root); cgrp 5915 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp) || !(tsk->flags & PF_EXITING)) { cgrp 5916 kernel/cgroup/cgroup.c retval = cgroup_path_ns_locked(cgrp, buf, PATH_MAX, cgrp 5928 kernel/cgroup/cgroup.c if (cgroup_on_dfl(cgrp) && cgroup_is_dead(cgrp)) cgrp 6206 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 6220 kernel/cgroup/cgroup.c cgrp = rcu_dereference(*(void __rcu __force **)&kn->priv); cgrp 6221 kernel/cgroup/cgroup.c if (cgrp) cgrp 6222 kernel/cgroup/cgroup.c css = cgroup_css(cgrp, ss); cgrp 6257 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 6261 kernel/cgroup/cgroup.c kn = kernfs_walk_and_get(cgrp_dfl_root.cgrp.kn, path); cgrp 6264 kernel/cgroup/cgroup.c cgrp = kn->priv; cgrp 6265 kernel/cgroup/cgroup.c cgroup_get_live(cgrp); cgrp 6267 kernel/cgroup/cgroup.c cgrp = ERR_PTR(-ENOTDIR); cgrp 6271 kernel/cgroup/cgroup.c cgrp = ERR_PTR(-ENOENT); cgrp 6275 kernel/cgroup/cgroup.c return cgrp; cgrp 6291 kernel/cgroup/cgroup.c struct cgroup *cgrp; cgrp 6303 kernel/cgroup/cgroup.c cgrp = css->cgroup; cgrp 6304 kernel/cgroup/cgroup.c if (!cgroup_on_dfl(cgrp)) { cgrp 6305 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 6309 kernel/cgroup/cgroup.c return cgrp; cgrp 6420 kernel/cgroup/cgroup.c struct cgroup *cgrp = sock_cgroup_ptr(skcd); cgrp 6422 kernel/cgroup/cgroup.c cgroup_bpf_put(cgrp); cgrp 6423 kernel/cgroup/cgroup.c cgroup_put(cgrp); cgrp 6429 kernel/cgroup/cgroup.c int cgroup_bpf_attach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 6435 kernel/cgroup/cgroup.c ret = __cgroup_bpf_attach(cgrp, prog, type, flags); cgrp 6439 kernel/cgroup/cgroup.c int cgroup_bpf_detach(struct cgroup *cgrp, struct bpf_prog *prog, cgrp 6445 kernel/cgroup/cgroup.c ret = __cgroup_bpf_detach(cgrp, prog, type); cgrp 6449 kernel/cgroup/cgroup.c int cgroup_bpf_query(struct cgroup *cgrp, const union bpf_attr *attr, cgrp 6455 kernel/cgroup/cgroup.c ret = __cgroup_bpf_query(cgrp, attr, uattr); cgrp 3528 kernel/cgroup/cpuset.c struct cgroup *cgrp; cgrp 3532 kernel/cgroup/cpuset.c cgrp = task_cs(current)->css.cgroup; cgrp 3534 kernel/cgroup/cpuset.c pr_cont_cgroup_name(cgrp); cgrp 101 kernel/cgroup/debug.c struct cgroup *c = link->cgrp; cgrp 206 kernel/cgroup/debug.c struct cgroup *cgrp; cgrp 212 kernel/cgroup/debug.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 213 kernel/cgroup/debug.c if (!cgrp) cgrp 217 kernel/cgroup/debug.c css = rcu_dereference_check(cgrp->subsys[ss->id], true); cgrp 258 kernel/cgroup/debug.c struct cgroup *cgrp; cgrp 260 kernel/cgroup/debug.c cgrp = cgroup_kn_lock_live(of->kn, false); cgrp 261 kernel/cgroup/debug.c if (!cgrp) cgrp 264 kernel/cgroup/debug.c cgroup_masks_read_one(seq, "subtree_control", cgrp->subtree_control); cgrp 265 kernel/cgroup/debug.c cgroup_masks_read_one(seq, "subtree_ss_mask", cgrp->subtree_ss_mask); cgrp 14 kernel/cgroup/freezer.c static void cgroup_propagate_frozen(struct cgroup *cgrp, bool frozen) cgrp 24 kernel/cgroup/freezer.c while ((cgrp = cgroup_parent(cgrp))) { cgrp 26 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_descendants += desc; cgrp 27 kernel/cgroup/freezer.c if (!test_bit(CGRP_FROZEN, &cgrp->flags) && cgrp 28 kernel/cgroup/freezer.c test_bit(CGRP_FREEZE, &cgrp->flags) && cgrp 29 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_descendants == cgrp 30 kernel/cgroup/freezer.c cgrp->nr_descendants) { cgrp 31 kernel/cgroup/freezer.c set_bit(CGRP_FROZEN, &cgrp->flags); cgrp 32 kernel/cgroup/freezer.c cgroup_file_notify(&cgrp->events_file); cgrp 33 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(notify_frozen, cgrp, 1); cgrp 37 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_descendants -= desc; cgrp 38 kernel/cgroup/freezer.c if (test_bit(CGRP_FROZEN, &cgrp->flags)) { cgrp 39 kernel/cgroup/freezer.c clear_bit(CGRP_FROZEN, &cgrp->flags); cgrp 40 kernel/cgroup/freezer.c cgroup_file_notify(&cgrp->events_file); cgrp 41 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(notify_frozen, cgrp, 0); cgrp 52 kernel/cgroup/freezer.c void cgroup_update_frozen(struct cgroup *cgrp) cgrp 63 kernel/cgroup/freezer.c frozen = test_bit(CGRP_FREEZE, &cgrp->flags) && cgrp 64 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_tasks == __cgroup_task_count(cgrp); cgrp 68 kernel/cgroup/freezer.c if (test_bit(CGRP_FROZEN, &cgrp->flags)) cgrp 71 kernel/cgroup/freezer.c set_bit(CGRP_FROZEN, &cgrp->flags); cgrp 74 kernel/cgroup/freezer.c if (!test_bit(CGRP_FROZEN, &cgrp->flags)) cgrp 77 kernel/cgroup/freezer.c clear_bit(CGRP_FROZEN, &cgrp->flags); cgrp 79 kernel/cgroup/freezer.c cgroup_file_notify(&cgrp->events_file); cgrp 80 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(notify_frozen, cgrp, frozen); cgrp 83 kernel/cgroup/freezer.c cgroup_propagate_frozen(cgrp, frozen); cgrp 89 kernel/cgroup/freezer.c static void cgroup_inc_frozen_cnt(struct cgroup *cgrp) cgrp 91 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_tasks++; cgrp 97 kernel/cgroup/freezer.c static void cgroup_dec_frozen_cnt(struct cgroup *cgrp) cgrp 99 kernel/cgroup/freezer.c cgrp->freezer.nr_frozen_tasks--; cgrp 100 kernel/cgroup/freezer.c WARN_ON_ONCE(cgrp->freezer.nr_frozen_tasks < 0); cgrp 109 kernel/cgroup/freezer.c struct cgroup *cgrp; cgrp 116 kernel/cgroup/freezer.c cgrp = task_dfl_cgroup(current); cgrp 117 kernel/cgroup/freezer.c cgroup_inc_frozen_cnt(cgrp); cgrp 118 kernel/cgroup/freezer.c cgroup_update_frozen(cgrp); cgrp 133 kernel/cgroup/freezer.c struct cgroup *cgrp; cgrp 136 kernel/cgroup/freezer.c cgrp = task_dfl_cgroup(current); cgrp 137 kernel/cgroup/freezer.c if (always_leave || !test_bit(CGRP_FREEZE, &cgrp->flags)) { cgrp 138 kernel/cgroup/freezer.c cgroup_dec_frozen_cnt(cgrp); cgrp 139 kernel/cgroup/freezer.c cgroup_update_frozen(cgrp); cgrp 177 kernel/cgroup/freezer.c static void cgroup_do_freeze(struct cgroup *cgrp, bool freeze) cgrp 186 kernel/cgroup/freezer.c set_bit(CGRP_FREEZE, &cgrp->flags); cgrp 188 kernel/cgroup/freezer.c clear_bit(CGRP_FREEZE, &cgrp->flags); cgrp 192 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(freeze, cgrp); cgrp 194 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(unfreeze, cgrp); cgrp 196 kernel/cgroup/freezer.c css_task_iter_start(&cgrp->self, 0, &it); cgrp 213 kernel/cgroup/freezer.c if (cgrp->nr_descendants == cgrp->freezer.nr_frozen_descendants) cgrp 214 kernel/cgroup/freezer.c cgroup_update_frozen(cgrp); cgrp 260 kernel/cgroup/freezer.c void cgroup_freeze(struct cgroup *cgrp, bool freeze) cgrp 271 kernel/cgroup/freezer.c if (cgrp->freezer.freeze == freeze) cgrp 274 kernel/cgroup/freezer.c cgrp->freezer.freeze = freeze; cgrp 279 kernel/cgroup/freezer.c css_for_each_descendant_pre(css, &cgrp->self) { cgrp 319 kernel/cgroup/freezer.c TRACE_CGROUP_PATH(notify_frozen, cgrp, cgrp 320 kernel/cgroup/freezer.c test_bit(CGRP_FROZEN, &cgrp->flags)); cgrp 321 kernel/cgroup/freezer.c cgroup_file_notify(&cgrp->events_file); cgrp 9 kernel/cgroup/rstat.c static void cgroup_base_stat_flush(struct cgroup *cgrp, int cpu); cgrp 11 kernel/cgroup/rstat.c static struct cgroup_rstat_cpu *cgroup_rstat_cpu(struct cgroup *cgrp, int cpu) cgrp 13 kernel/cgroup/rstat.c return per_cpu_ptr(cgrp->rstat_cpu, cpu); cgrp 25 kernel/cgroup/rstat.c void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) cgrp 32 kernel/cgroup/rstat.c if (!cgroup_parent(cgrp)) cgrp 43 kernel/cgroup/rstat.c if (cgroup_rstat_cpu(cgrp, cpu)->updated_next) cgrp 49 kernel/cgroup/rstat.c for (parent = cgroup_parent(cgrp); parent; cgrp 50 kernel/cgroup/rstat.c cgrp = parent, parent = cgroup_parent(cgrp)) { cgrp 51 kernel/cgroup/rstat.c struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu); cgrp 62 kernel/cgroup/rstat.c prstatc->updated_children = cgrp; cgrp 142 kernel/cgroup/rstat.c static void cgroup_rstat_flush_locked(struct cgroup *cgrp, bool may_sleep) cgrp 155 kernel/cgroup/rstat.c while ((pos = cgroup_rstat_cpu_pop_updated(pos, cgrp, cpu))) { cgrp 192 kernel/cgroup/rstat.c void cgroup_rstat_flush(struct cgroup *cgrp) cgrp 197 kernel/cgroup/rstat.c cgroup_rstat_flush_locked(cgrp, true); cgrp 207 kernel/cgroup/rstat.c void cgroup_rstat_flush_irqsafe(struct cgroup *cgrp) cgrp 212 kernel/cgroup/rstat.c cgroup_rstat_flush_locked(cgrp, false); cgrp 225 kernel/cgroup/rstat.c void cgroup_rstat_flush_hold(struct cgroup *cgrp) cgrp 230 kernel/cgroup/rstat.c cgroup_rstat_flush_locked(cgrp, true); cgrp 242 kernel/cgroup/rstat.c int cgroup_rstat_init(struct cgroup *cgrp) cgrp 247 kernel/cgroup/rstat.c if (!cgrp->rstat_cpu) { cgrp 248 kernel/cgroup/rstat.c cgrp->rstat_cpu = alloc_percpu(struct cgroup_rstat_cpu); cgrp 249 kernel/cgroup/rstat.c if (!cgrp->rstat_cpu) cgrp 255 kernel/cgroup/rstat.c struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu); cgrp 257 kernel/cgroup/rstat.c rstatc->updated_children = cgrp; cgrp 264 kernel/cgroup/rstat.c void cgroup_rstat_exit(struct cgroup *cgrp) cgrp 268 kernel/cgroup/rstat.c cgroup_rstat_flush(cgrp); cgrp 272 kernel/cgroup/rstat.c struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu); cgrp 274 kernel/cgroup/rstat.c if (WARN_ON_ONCE(rstatc->updated_children != cgrp) || cgrp 279 kernel/cgroup/rstat.c free_percpu(cgrp->rstat_cpu); cgrp 280 kernel/cgroup/rstat.c cgrp->rstat_cpu = NULL; cgrp 290 kernel/cgroup/rstat.c BUG_ON(cgroup_rstat_init(&cgrp_dfl_root.cgrp)); cgrp 305 kernel/cgroup/rstat.c static void cgroup_base_stat_flush(struct cgroup *cgrp, int cpu) cgrp 307 kernel/cgroup/rstat.c struct cgroup *parent = cgroup_parent(cgrp); cgrp 308 kernel/cgroup/rstat.c struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu); cgrp 328 kernel/cgroup/rstat.c cgroup_base_stat_accumulate(&delta, &cgrp->pending_bstat); cgrp 329 kernel/cgroup/rstat.c memset(&cgrp->pending_bstat, 0, sizeof(cgrp->pending_bstat)); cgrp 332 kernel/cgroup/rstat.c cgroup_base_stat_accumulate(&cgrp->bstat, &delta); cgrp 338 kernel/cgroup/rstat.c cgroup_base_stat_cputime_account_begin(struct cgroup *cgrp) cgrp 342 kernel/cgroup/rstat.c rstatc = get_cpu_ptr(cgrp->rstat_cpu); cgrp 347 kernel/cgroup/rstat.c static void cgroup_base_stat_cputime_account_end(struct cgroup *cgrp, cgrp 351 kernel/cgroup/rstat.c cgroup_rstat_updated(cgrp, smp_processor_id()); cgrp 355 kernel/cgroup/rstat.c void __cgroup_account_cputime(struct cgroup *cgrp, u64 delta_exec) cgrp 359 kernel/cgroup/rstat.c rstatc = cgroup_base_stat_cputime_account_begin(cgrp); cgrp 361 kernel/cgroup/rstat.c cgroup_base_stat_cputime_account_end(cgrp, rstatc); cgrp 364 kernel/cgroup/rstat.c void __cgroup_account_cputime_field(struct cgroup *cgrp, cgrp 369 kernel/cgroup/rstat.c rstatc = cgroup_base_stat_cputime_account_begin(cgrp); cgrp 385 kernel/cgroup/rstat.c cgroup_base_stat_cputime_account_end(cgrp, rstatc); cgrp 390 kernel/cgroup/rstat.c struct cgroup *cgrp = seq_css(seq)->cgroup; cgrp 393 kernel/cgroup/rstat.c if (!cgroup_parent(cgrp)) cgrp 396 kernel/cgroup/rstat.c cgroup_rstat_flush_hold(cgrp); cgrp 397 kernel/cgroup/rstat.c usage = cgrp->bstat.cputime.sum_exec_runtime; cgrp 398 kernel/cgroup/rstat.c cputime_adjust(&cgrp->bstat.cputime, &cgrp->prev_cputime, &utime, &stime); cgrp 682 kernel/events/core.c if (!event->cgrp) cgrp 686 kernel/events/core.c if (!cpuctx->cgrp) cgrp 695 kernel/events/core.c return cgroup_is_descendant(cpuctx->cgrp->css.cgroup, cgrp 696 kernel/events/core.c event->cgrp->css.cgroup); cgrp 701 kernel/events/core.c css_put(&event->cgrp->css); cgrp 702 kernel/events/core.c event->cgrp = NULL; cgrp 707 kernel/events/core.c return event->cgrp != NULL; cgrp 714 kernel/events/core.c t = per_cpu_ptr(event->cgrp->info, event->cpu); cgrp 718 kernel/events/core.c static inline void __update_cgrp_time(struct perf_cgroup *cgrp) cgrp 725 kernel/events/core.c info = this_cpu_ptr(cgrp->info); cgrp 733 kernel/events/core.c struct perf_cgroup *cgrp = cpuctx->cgrp; cgrp 736 kernel/events/core.c if (cgrp) { cgrp 737 kernel/events/core.c for (css = &cgrp->css; css; css = css->parent) { cgrp 738 kernel/events/core.c cgrp = container_of(css, struct perf_cgroup, css); cgrp 739 kernel/events/core.c __update_cgrp_time(cgrp); cgrp 746 kernel/events/core.c struct perf_cgroup *cgrp; cgrp 755 kernel/events/core.c cgrp = perf_cgroup_from_task(current, event->ctx); cgrp 759 kernel/events/core.c if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup)) cgrp 760 kernel/events/core.c __update_cgrp_time(event->cgrp); cgrp 767 kernel/events/core.c struct perf_cgroup *cgrp; cgrp 779 kernel/events/core.c cgrp = perf_cgroup_from_task(task, ctx); cgrp 781 kernel/events/core.c for (css = &cgrp->css; css; css = css->parent) { cgrp 782 kernel/events/core.c cgrp = container_of(css, struct perf_cgroup, css); cgrp 783 kernel/events/core.c info = this_cpu_ptr(cgrp->info); cgrp 824 kernel/events/core.c cpuctx->cgrp = NULL; cgrp 828 kernel/events/core.c WARN_ON_ONCE(cpuctx->cgrp); cgrp 836 kernel/events/core.c cpuctx->cgrp = perf_cgroup_from_task(task, cgrp 903 kernel/events/core.c struct perf_cgroup *cgrp; cgrp 918 kernel/events/core.c cgrp = container_of(css, struct perf_cgroup, css); cgrp 919 kernel/events/core.c event->cgrp = cgrp; cgrp 926 kernel/events/core.c if (group_leader && group_leader->cgrp != cgrp) { cgrp 939 kernel/events/core.c t = per_cpu_ptr(event->cgrp->info, event->cpu); cgrp 969 kernel/events/core.c if (add && !cpuctx->cgrp) { cgrp 970 kernel/events/core.c struct perf_cgroup *cgrp = perf_cgroup_from_task(current, ctx); cgrp 972 kernel/events/core.c if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup)) cgrp 973 kernel/events/core.c cpuctx->cgrp = cgrp; cgrp 983 kernel/events/core.c cpuctx->cgrp = NULL; cgrp 2626 kernel/events/core.c struct perf_cgroup *cgrp = perf_cgroup_from_task(current, ctx); cgrp 2627 kernel/events/core.c reprogram = cgroup_is_descendant(cgrp->css.cgroup, cgrp 2628 kernel/events/core.c event->cgrp->css.cgroup); cgrp 566 kernel/trace/bpf_trace.c struct cgroup *cgrp; cgrp 571 kernel/trace/bpf_trace.c cgrp = READ_ONCE(array->ptrs[idx]); cgrp 572 kernel/trace/bpf_trace.c if (unlikely(!cgrp)) cgrp 575 kernel/trace/bpf_trace.c return task_under_cgroup_hierarchy(current, cgrp); cgrp 4059 net/core/filter.c struct cgroup *cgrp; cgrp 4068 net/core/filter.c cgrp = READ_ONCE(array->ptrs[idx]); cgrp 4069 net/core/filter.c if (unlikely(!cgrp)) cgrp 4072 net/core/filter.c return sk_under_cgroup_hierarchy(sk, cgrp); cgrp 4088 net/core/filter.c struct cgroup *cgrp; cgrp 4093 net/core/filter.c cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 4094 net/core/filter.c return cgrp->kn->id.id; cgrp 4109 net/core/filter.c struct cgroup *cgrp; cgrp 4114 net/core/filter.c cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); cgrp 4115 net/core/filter.c ancestor = cgroup_ancestor(cgrp, ancestor_level); cgrp 39 net/netfilter/xt_cgroup.c struct cgroup *cgrp; cgrp 56 net/netfilter/xt_cgroup.c cgrp = cgroup_get_from_path(info->path); cgrp 57 net/netfilter/xt_cgroup.c if (IS_ERR(cgrp)) { cgrp 59 net/netfilter/xt_cgroup.c PTR_ERR(cgrp)); cgrp 62 net/netfilter/xt_cgroup.c info->priv = cgrp; cgrp 71 net/netfilter/xt_cgroup.c struct cgroup *cgrp; cgrp 88 net/netfilter/xt_cgroup.c cgrp = cgroup_get_from_path(info->path); cgrp 89 net/netfilter/xt_cgroup.c if (IS_ERR(cgrp)) { cgrp 91 net/netfilter/xt_cgroup.c PTR_ERR(cgrp)); cgrp 94 net/netfilter/xt_cgroup.c info->priv = cgrp; cgrp 101 tools/perf/util/cgroup.c if (!counter->cgrp) cgrp 103 tools/perf/util/cgroup.c if (!strcmp(counter->cgrp->name, str)) cgrp 104 tools/perf/util/cgroup.c return cgroup__get(counter->cgrp); cgrp 144 tools/perf/util/cgroup.c struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); cgrp 147 tools/perf/util/cgroup.c if (!cgrp) cgrp 160 tools/perf/util/cgroup.c cgroup__put(cgrp); cgrp 163 tools/perf/util/cgroup.c counter->cgrp = cgrp; cgrp 174 tools/perf/util/cgroup.c void cgroup__put(struct cgroup *cgrp) cgrp 176 tools/perf/util/cgroup.c if (cgrp && refcount_dec_and_test(&cgrp->refcnt)) { cgrp 177 tools/perf/util/cgroup.c cgroup__delete(cgrp); cgrp 190 tools/perf/util/cgroup.c if (evsel->cgrp == NULL) cgrp 191 tools/perf/util/cgroup.c evsel->cgrp = cgroup__get(cgroup); cgrp 207 tools/perf/util/cgroup.c struct cgroup *cgrp = NULL; cgrp 243 tools/perf/util/cgroup.c cgrp = counter->cgrp; cgrp 245 tools/perf/util/cgroup.c counter->cgrp = cgrp; cgrp 246 tools/perf/util/cgroup.c refcount_inc(&cgrp->refcnt); cgrp 1251 tools/perf/util/evsel.c cgroup__put(evsel->cgrp); cgrp 1617 tools/perf/util/evsel.c if (evsel->cgrp) { cgrp 1619 tools/perf/util/evsel.c pid = evsel->cgrp->fd; cgrp 1655 tools/perf/util/evsel.c if (!evsel->cgrp && !evsel->core.system_wide) cgrp 60 tools/perf/util/evsel.h struct cgroup *cgrp; cgrp 63 tools/perf/util/stat-display.c const char *cgrp_name = evsel->cgrp ? evsel->cgrp->name : ""; cgrp 430 tools/perf/util/stat-display.c if (counter->cgrp) cgrp 556 tools/perf/util/stat-display.c alias->cgrp != counter->cgrp || cgrp 1154 tools/testing/selftests/bpf/test_sockmap.c static int __test_exec(int cgrp, int test, struct sockmap_options *opt) cgrp 1176 tools/testing/selftests/bpf/test_sockmap.c err = run_options(opt, cgrp, test); cgrp 1184 tools/testing/selftests/bpf/test_sockmap.c static int test_exec(int cgrp, struct sockmap_options *opt) cgrp 1186 tools/testing/selftests/bpf/test_sockmap.c int err = __test_exec(cgrp, SENDMSG, opt); cgrp 1191 tools/testing/selftests/bpf/test_sockmap.c err = __test_exec(cgrp, SENDPAGE, opt); cgrp 1196 tools/testing/selftests/bpf/test_sockmap.c static int test_loop(int cgrp) cgrp 1217 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1227 tools/testing/selftests/bpf/test_sockmap.c static int test_txmsg(int cgrp) cgrp 1236 tools/testing/selftests/bpf/test_sockmap.c err = test_loop(cgrp); cgrp 1242 tools/testing/selftests/bpf/test_sockmap.c err = test_loop(cgrp); cgrp 1248 tools/testing/selftests/bpf/test_sockmap.c err = test_loop(cgrp); cgrp 1255 tools/testing/selftests/bpf/test_sockmap.c err = test_loop(cgrp); cgrp 1267 tools/testing/selftests/bpf/test_sockmap.c static int test_send(struct sockmap_options *opt, int cgrp) cgrp 1274 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1281 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1288 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1295 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1302 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1309 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, opt); cgrp 1317 tools/testing/selftests/bpf/test_sockmap.c static int test_mixed(int cgrp) cgrp 1333 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1341 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1349 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1357 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1365 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1373 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1381 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1389 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1397 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1405 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1413 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1421 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1429 tools/testing/selftests/bpf/test_sockmap.c err = test_send(&opt, cgrp); cgrp 1436 tools/testing/selftests/bpf/test_sockmap.c static int test_start_end(int cgrp) cgrp 1448 tools/testing/selftests/bpf/test_sockmap.c err = test_txmsg(cgrp); cgrp 1459 tools/testing/selftests/bpf/test_sockmap.c err = test_txmsg(cgrp); cgrp 1477 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1486 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1499 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1509 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1516 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1527 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1534 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1543 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1552 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1561 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1568 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt); cgrp 1575 tools/testing/selftests/bpf/test_sockmap.c err = test_exec(cgrp, &opt);