Home
last modified time | relevance | path

Searched refs:cgrp (Results 1 – 25 of 90) sorted by relevance

1234

/Linux-v6.6/kernel/cgroup/
Dfreezer.c14 static void cgroup_propagate_frozen(struct cgroup *cgrp, bool frozen) in cgroup_propagate_frozen() argument
24 while ((cgrp = cgroup_parent(cgrp))) { in cgroup_propagate_frozen()
26 cgrp->freezer.nr_frozen_descendants += desc; in cgroup_propagate_frozen()
27 if (!test_bit(CGRP_FROZEN, &cgrp->flags) && in cgroup_propagate_frozen()
28 test_bit(CGRP_FREEZE, &cgrp->flags) && in cgroup_propagate_frozen()
29 cgrp->freezer.nr_frozen_descendants == in cgroup_propagate_frozen()
30 cgrp->nr_descendants) { in cgroup_propagate_frozen()
31 set_bit(CGRP_FROZEN, &cgrp->flags); in cgroup_propagate_frozen()
32 cgroup_file_notify(&cgrp->events_file); in cgroup_propagate_frozen()
33 TRACE_CGROUP_PATH(notify_frozen, cgrp, 1); in cgroup_propagate_frozen()
[all …]
Dcgroup.c167 struct cgroup_root cgrp_dfl_root = { .cgrp.rstat_cpu = &cgrp_dfl_root_rstat_cpu };
239 static int cgroup_apply_control(struct cgroup *cgrp);
240 static void cgroup_finalize_control(struct cgroup *cgrp, int ret);
243 static int cgroup_destroy_locked(struct cgroup *cgrp);
244 static struct cgroup_subsys_state *css_create(struct cgroup *cgrp,
249 struct cgroup *cgrp, struct cftype cfts[],
317 bool cgroup_on_dfl(const struct cgroup *cgrp) in cgroup_on_dfl() argument
319 return cgrp->root == &cgrp_dfl_root; in cgroup_on_dfl()
353 static bool cgroup_has_tasks(struct cgroup *cgrp) in cgroup_has_tasks() argument
355 return cgrp->nr_populated_csets; in cgroup_has_tasks()
[all …]
Drstat.c13 static void cgroup_base_stat_flush(struct cgroup *cgrp, int cpu);
15 static struct cgroup_rstat_cpu *cgroup_rstat_cpu(struct cgroup *cgrp, int cpu) in cgroup_rstat_cpu() argument
17 return per_cpu_ptr(cgrp->rstat_cpu, cpu); in cgroup_rstat_cpu()
29 __bpf_kfunc void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) in cgroup_rstat_updated() argument
42 if (data_race(cgroup_rstat_cpu(cgrp, cpu)->updated_next)) in cgroup_rstat_updated()
49 struct cgroup_rstat_cpu *rstatc = cgroup_rstat_cpu(cgrp, cpu); in cgroup_rstat_updated()
50 struct cgroup *parent = cgroup_parent(cgrp); in cgroup_rstat_updated()
62 rstatc->updated_next = cgrp; in cgroup_rstat_updated()
68 prstatc->updated_children = cgrp; in cgroup_rstat_updated()
70 cgrp = parent; in cgroup_rstat_updated()
[all …]
Dcgroup-v1.c196 void cgroup1_pidlist_destroy_all(struct cgroup *cgrp) in cgroup1_pidlist_destroy_all() argument
200 mutex_lock(&cgrp->pidlist_mutex); in cgroup1_pidlist_destroy_all()
201 list_for_each_entry_safe(l, tmp_l, &cgrp->pidlists, links) in cgroup1_pidlist_destroy_all()
203 mutex_unlock(&cgrp->pidlist_mutex); in cgroup1_pidlist_destroy_all()
206 BUG_ON(!list_empty(&cgrp->pidlists)); in cgroup1_pidlist_destroy_all()
277 static struct cgroup_pidlist *cgroup_pidlist_find(struct cgroup *cgrp, in cgroup_pidlist_find() argument
284 lockdep_assert_held(&cgrp->pidlist_mutex); in cgroup_pidlist_find()
286 list_for_each_entry(l, &cgrp->pidlists, links) in cgroup_pidlist_find()
298 static struct cgroup_pidlist *cgroup_pidlist_find_create(struct cgroup *cgrp, in cgroup_pidlist_find_create() argument
303 lockdep_assert_held(&cgrp->pidlist_mutex); in cgroup_pidlist_find_create()
[all …]
Dcgroup-internal.h27 #define TRACE_CGROUP_PATH(type, cgrp, ...) \ argument
33 cgroup_path(cgrp, trace_cgroup_path, \
35 trace_cgroup_##type(cgrp, trace_cgroup_path, \
96 struct cgroup *cgrp; member
184 static inline bool cgroup_is_dead(const struct cgroup *cgrp) in cgroup_is_dead() argument
186 return !(cgrp->self.flags & CSS_ONLINE); in cgroup_is_dead()
189 static inline bool notify_on_release(const struct cgroup *cgrp) in notify_on_release() argument
191 return test_bit(CGRP_NOTIFY_ON_RELEASE, &cgrp->flags); in notify_on_release()
222 bool cgroup_on_dfl(const struct cgroup *cgrp);
229 int cgroup_path_ns_locked(struct cgroup *cgrp, char *buf, size_t buflen,
[all …]
/Linux-v6.6/drivers/gpu/drm/nouveau/nvkm/engine/fifo/
Dcgrp.c32 nvkm_cgrp_ectx_put(struct nvkm_cgrp *cgrp, struct nvkm_ectx **pectx) in nvkm_cgrp_ectx_put() argument
40 CGRP_TRACE(cgrp, "dtor ectx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_ectx_put()
51 nvkm_cgrp_ectx_get(struct nvkm_cgrp *cgrp, struct nvkm_engn *engn, struct nvkm_ectx **pectx, in nvkm_cgrp_ectx_get() argument
63 ectx = nvkm_list_find(ectx, &cgrp->ectxs, head, ectx->engn == engn); in nvkm_cgrp_ectx_get()
71 CGRP_TRACE(cgrp, "ctor ectx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_ectx_get()
78 list_add_tail(&ectx->head, &cgrp->ectxs); in nvkm_cgrp_ectx_get()
87 nvkm_cgrp_ectx_put(cgrp, pectx); in nvkm_cgrp_ectx_get()
93 nvkm_cgrp_vctx_put(struct nvkm_cgrp *cgrp, struct nvkm_vctx **pvctx) in nvkm_cgrp_vctx_put() argument
101 CGRP_TRACE(cgrp, "dtor vctx %d[%s]", engn->id, engn->engine->subdev.name); in nvkm_cgrp_vctx_put()
105 nvkm_cgrp_ectx_put(cgrp, &vctx->ectx); in nvkm_cgrp_vctx_put()
[all …]
Dchan.c44 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_bind() local
45 struct nvkm_runl *runl = cgrp->runl; in nvkm_chan_cctx_bind()
56 if (cgrp->hw) in nvkm_chan_cctx_bind()
66 if (cgrp->hw) in nvkm_chan_cctx_bind()
80 if (refcount_dec_and_mutex_lock(&cctx->refs, &chan->cgrp->mutex)) { in nvkm_chan_cctx_put()
82 nvkm_cgrp_vctx_put(chan->cgrp, &cctx->vctx); in nvkm_chan_cctx_put()
85 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_put()
96 struct nvkm_cgrp *cgrp = chan->cgrp; in nvkm_chan_cctx_get() local
102 mutex_lock(&cgrp->mutex); in nvkm_chan_cctx_get()
108 mutex_unlock(&chan->cgrp->mutex); in nvkm_chan_cctx_get()
[all …]
Dgk110.c38 struct nvkm_cgrp *cgrp = chan->cgrp; in gk110_chan_preempt() local
40 if (cgrp->hw) { in gk110_chan_preempt()
41 cgrp->func->preempt(cgrp); in gk110_chan_preempt()
61 gk110_cgrp_preempt(struct nvkm_cgrp *cgrp) in gk110_cgrp_preempt() argument
63 nvkm_wr32(cgrp->runl->fifo->engine.subdev.device, 0x002634, 0x01000000 | cgrp->id); in gk110_cgrp_preempt()
72 gk110_runl_insert_cgrp(struct nvkm_cgrp *cgrp, struct nvkm_memory *memory, u64 offset) in gk110_runl_insert_cgrp() argument
74 nvkm_wo32(memory, offset + 0, (cgrp->chan_nr << 26) | (128 << 18) | in gk110_runl_insert_cgrp()
75 (3 << 14) | 0x00002000 | cgrp->id); in gk110_runl_insert_cgrp()
123 .cgrp = {{ 0, 0, KEPLER_CHANNEL_GROUP_A }, &gk110_cgrp },
Drunl.c36 struct nvkm_cgrp *cgrp = NULL; in nvkm_engn_cgrp_get() local
48 cgrp = chan->cgrp; in nvkm_engn_cgrp_get()
50 cgrp = nvkm_runl_cgrp_get_cgid(engn->runl, id, pirqflags); in nvkm_engn_cgrp_get()
53 WARN_ON(!cgrp); in nvkm_engn_cgrp_get()
54 return cgrp; in nvkm_engn_cgrp_get()
61 struct nvkm_cgrp *cgrp, *gtmp; in nvkm_runl_rc() local
75 nvkm_runl_foreach_cgrp_safe(cgrp, gtmp, runl) { in nvkm_runl_rc()
76 state = atomic_cmpxchg(&cgrp->rc, NVKM_CGRP_RC_PENDING, NVKM_CGRP_RC_RUNNING); in nvkm_runl_rc()
79 nvkm_cgrp_foreach_chan_safe(chan, ctmp, cgrp) { in nvkm_runl_rc()
102 cgrp = nvkm_engn_cgrp_get(engn, &flags); in nvkm_runl_rc()
[all …]
Ducgrp.c33 struct nvkm_cgrp *cgrp; member
40 struct nvkm_cgrp *cgrp = nvkm_ucgrp(oclass->parent)->cgrp; in nvkm_ucgrp_chan_new() local
42 return nvkm_uchan_new(cgrp->runl->fifo, cgrp, oclass, argv, argc, pobject); in nvkm_ucgrp_chan_new()
48 struct nvkm_cgrp *cgrp = nvkm_ucgrp(object)->cgrp; in nvkm_ucgrp_sclass() local
49 struct nvkm_fifo *fifo = cgrp->runl->fifo; in nvkm_ucgrp_sclass()
70 nvkm_cgrp_unref(&ucgrp->cgrp); in nvkm_ucgrp_dtor()
115 ret = nvkm_cgrp_new(runl, args->v0.name, vmm, true, &ucgrp->cgrp); in nvkm_ucgrp_new()
120 args->v0.cgid = ucgrp->cgrp->id; in nvkm_ucgrp_new()
/Linux-v6.6/tools/testing/selftests/bpf/progs/
Dcgrp_kfunc_failure.c20 static struct __cgrps_kfunc_map_value *insert_lookup_cgrp(struct cgroup *cgrp) in insert_lookup_cgrp() argument
24 status = cgrps_kfunc_map_insert(cgrp); in insert_lookup_cgrp()
28 return cgrps_kfunc_map_value_lookup(cgrp); in insert_lookup_cgrp()
33 int BPF_PROG(cgrp_kfunc_acquire_untrusted, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
38 v = insert_lookup_cgrp(cgrp); in BPF_PROG()
43 acquired = bpf_cgroup_acquire(v->cgrp); in BPF_PROG()
52 int BPF_PROG(cgrp_kfunc_acquire_no_null_check, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
56 acquired = bpf_cgroup_acquire(cgrp); in BPF_PROG()
68 int BPF_PROG(cgrp_kfunc_acquire_fp, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
82 int BPF_PROG(cgrp_kfunc_acquire_unsafe_kretprobe, struct cgroup *cgrp) in BPF_PROG() argument
[all …]
Dcgrp_kfunc_success.c33 int BPF_PROG(test_cgrp_acquire_release_argument, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
40 acquired = bpf_cgroup_acquire(cgrp); in BPF_PROG()
50 int BPF_PROG(test_cgrp_acquire_leave_in_map, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
57 status = cgrps_kfunc_map_insert(cgrp); in BPF_PROG()
65 int BPF_PROG(test_cgrp_xchg_release, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
74 status = cgrps_kfunc_map_insert(cgrp); in BPF_PROG()
80 v = cgrps_kfunc_map_value_lookup(cgrp); in BPF_PROG()
86 kptr = v->cgrp; in BPF_PROG()
96 kptr = bpf_kptr_xchg(&v->cgrp, NULL); in BPF_PROG()
108 int BPF_PROG(test_cgrp_get_release, struct cgroup *cgrp, const char *path) in BPF_PROG() argument
[all …]
Dcgrp_ls_sleepable.c27 struct cgroup *cgrp = ctx->cgroup; in cgroup_iter() local
30 if (cgrp == NULL) in cgroup_iter()
33 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in cgroup_iter()
36 cgroup_id = cgrp->kn->id; in cgroup_iter()
44 struct cgroup *cgrp; in no_rcu_lock() local
52 cgrp = task->cgroups->dfl_cgrp; in no_rcu_lock()
53 ptr = bpf_cgrp_storage_get(&map_a, cgrp, 0, in no_rcu_lock()
56 cgroup_id = cgrp->kn->id; in no_rcu_lock()
64 struct cgroup *cgrp; in yes_rcu_lock() local
72 cgrp = task->cgroups->dfl_cgrp; in yes_rcu_lock()
[all …]
Dcgrp_kfunc_common.h13 struct cgroup __kptr * cgrp; member
25 struct cgroup *bpf_cgroup_ancestor(struct cgroup *cgrp, int level) __ksym;
30 static inline struct __cgrps_kfunc_map_value *cgrps_kfunc_map_value_lookup(struct cgroup *cgrp) in cgrps_kfunc_map_value_lookup() argument
35 status = bpf_probe_read_kernel(&id, sizeof(id), &cgrp->self.id); in cgrps_kfunc_map_value_lookup()
42 static inline int cgrps_kfunc_map_insert(struct cgroup *cgrp) in cgrps_kfunc_map_insert() argument
49 status = bpf_probe_read_kernel(&id, sizeof(id), &cgrp->self.id); in cgrps_kfunc_map_insert()
53 local.cgrp = NULL; in cgrps_kfunc_map_insert()
64 acquired = bpf_cgroup_acquire(cgrp); in cgrps_kfunc_map_insert()
70 old = bpf_kptr_xchg(&v->cgrp, acquired); in cgrps_kfunc_map_insert()
Dcgroup_hierarchical_stats.c40 extern void cgroup_rstat_updated(struct cgroup *cgrp, int cpu) __ksym;
41 extern void cgroup_rstat_flush(struct cgroup *cgrp) __ksym;
43 static uint64_t cgroup_id(struct cgroup *cgrp) in cgroup_id() argument
45 return cgrp->kn->id; in cgroup_id()
83 int BPF_PROG(flusher, struct cgroup *cgrp, struct cgroup *parent, int cpu) in BPF_PROG() argument
87 __u64 cg_id = cgroup_id(cgrp); in BPF_PROG()
133 int BPF_PROG(dumper, struct bpf_iter_meta *meta, struct cgroup *cgrp) in BPF_PROG() argument
137 __u64 cg_id = cgrp ? cgroup_id(cgrp) : 0; in BPF_PROG()
144 cgroup_rstat_flush(cgrp); in BPF_PROG()
Dcgroup_iter.c12 static inline u64 cgroup_id(struct cgroup *cgrp) in cgroup_id() argument
14 return cgrp->kn->id; in cgroup_id()
21 struct cgroup *cgrp = ctx->cgroup; in cgroup_id_printer() local
24 if (cgrp == NULL) { in cgroup_id_printer()
33 BPF_SEQ_PRINTF(seq, "%8llu\n", cgroup_id(cgrp)); in cgroup_id_printer()
35 if (terminal_cgroup == cgroup_id(cgrp)) in cgroup_id_printer()
Dtest_task_under_cgroup.c23 struct cgroup *cgrp = NULL; in BPF_PROG() local
36 cgrp = bpf_cgroup_from_id(cgid); in BPF_PROG()
37 if (!cgrp) in BPF_PROG()
40 if (bpf_task_under_cgroup(acquired, cgrp)) in BPF_PROG()
44 if (cgrp) in BPF_PROG()
45 bpf_cgroup_release(cgrp); in BPF_PROG()
/Linux-v6.6/tools/perf/util/
Dcgroup.c51 int read_cgroup_id(struct cgroup *cgrp) in read_cgroup_id() argument
64 scnprintf(path, PATH_MAX, "%s/%s", mnt, cgrp->name); in read_cgroup_id()
70 cgrp->id = handle.cgroup_id; in read_cgroup_id()
100 if (!counter->cgrp) in evlist__find_cgroup()
102 if (!strcmp(counter->cgrp->name, str)) in evlist__find_cgroup()
103 return cgroup__get(counter->cgrp); in evlist__find_cgroup()
148 struct cgroup *cgrp = evlist__findnew_cgroup(evlist, str); in add_cgroup() local
151 if (!cgrp) in add_cgroup()
164 cgroup__put(cgrp); in add_cgroup()
167 counter->cgrp = cgrp; in add_cgroup()
[all …]
Dbpf_counter_cgroup.c48 struct cgroup *cgrp, *leader_cgrp; in bperf_load_program() local
109 cgrp = NULL; in bperf_load_program()
113 if (cgrp == NULL || evsel->cgrp == leader_cgrp) { in bperf_load_program()
114 leader_cgrp = evsel->cgrp; in bperf_load_program()
115 evsel->cgrp = NULL; in bperf_load_program()
130 evsel->cgrp = leader_cgrp; in bperf_load_program()
133 if (evsel->cgrp == cgrp) in bperf_load_program()
136 cgrp = evsel->cgrp; in bperf_load_program()
138 if (read_cgroup_id(cgrp) < 0) { in bperf_load_program()
145 err = bpf_map_update_elem(map_fd, &cgrp->id, &i, BPF_ANY); in bperf_load_program()
[all …]
/Linux-v6.6/include/linux/
Dcgroup.h325 static inline u64 cgroup_id(const struct cgroup *cgrp) in cgroup_id() argument
327 return cgrp->kn->id; in cgroup_id()
350 static inline void cgroup_get(struct cgroup *cgrp) in cgroup_get() argument
352 css_get(&cgrp->self); in cgroup_get()
355 static inline bool cgroup_tryget(struct cgroup *cgrp) in cgroup_tryget() argument
357 return css_tryget(&cgrp->self); in cgroup_tryget()
360 static inline void cgroup_put(struct cgroup *cgrp) in cgroup_put() argument
362 css_put(&cgrp->self); in cgroup_put()
495 static inline struct cgroup *cgroup_parent(struct cgroup *cgrp) in cgroup_parent() argument
497 struct cgroup_subsys_state *parent_css = cgrp->self.parent; in cgroup_parent()
[all …]
Dpsi.h35 static inline struct psi_group *cgroup_psi(struct cgroup *cgrp) in cgroup_psi() argument
37 return cgroup_ino(cgrp) == 1 ? &psi_system : cgrp->psi; in cgroup_psi()
40 int psi_cgroup_alloc(struct cgroup *cgrp);
41 void psi_cgroup_free(struct cgroup *cgrp);
54 static inline int psi_cgroup_alloc(struct cgroup *cgrp) in psi_cgroup_alloc() argument
58 static inline void psi_cgroup_free(struct cgroup *cgrp) in psi_cgroup_free() argument
/Linux-v6.6/include/trace/events/
Dcgroup.h56 TP_PROTO(struct cgroup *cgrp, const char *path),
58 TP_ARGS(cgrp, path),
68 __entry->root = cgrp->root->hierarchy_id;
69 __entry->id = cgroup_id(cgrp);
70 __entry->level = cgrp->level;
80 TP_PROTO(struct cgroup *cgrp, const char *path),
82 TP_ARGS(cgrp, path)
87 TP_PROTO(struct cgroup *cgrp, const char *path),
89 TP_ARGS(cgrp, path)
94 TP_PROTO(struct cgroup *cgrp, const char *path),
[all …]
/Linux-v6.6/kernel/bpf/
Dcgroup.c31 bpf_prog_run_array_cg(const struct cgroup_bpf *cgrp, in bpf_prog_run_array_cg() argument
46 array = rcu_dereference(cgrp->effective[atype]); in bpf_prog_run_array_cg()
71 struct cgroup *cgrp; in __cgroup_bpf_run_lsm_sock() local
80 cgrp = sock_cgroup_ptr(&sk->sk_cgrp_data); in __cgroup_bpf_run_lsm_sock()
81 if (likely(cgrp)) in __cgroup_bpf_run_lsm_sock()
82 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_sock()
93 struct cgroup *cgrp; in __cgroup_bpf_run_lsm_socket() local
102 cgrp = sock_cgroup_ptr(&sock->sk->sk_cgrp_data); in __cgroup_bpf_run_lsm_socket()
103 if (likely(cgrp)) in __cgroup_bpf_run_lsm_socket()
104 ret = bpf_prog_run_array_cg(&cgrp->bpf, in __cgroup_bpf_run_lsm_socket()
[all …]
/Linux-v6.6/tools/testing/selftests/bpf/
Dtest_sockmap.c1376 static int __test_exec(int cgrp, int test, struct sockmap_options *opt) in __test_exec() argument
1400 err = run_options(opt, cgrp, test); in __test_exec()
1409 static void test_exec(int cgrp, struct sockmap_options *opt) in test_exec() argument
1416 err = __test_exec(cgrp, SENDMSG, opt); in test_exec()
1421 err = __test_exec(cgrp, SENDPAGE, opt); in test_exec()
1427 static void test_send_one(struct sockmap_options *opt, int cgrp) in test_send_one() argument
1432 test_exec(cgrp, opt); in test_send_one()
1437 test_exec(cgrp, opt); in test_send_one()
1442 test_exec(cgrp, opt); in test_send_one()
1446 static void test_send_many(struct sockmap_options *opt, int cgrp) in test_send_many() argument
[all …]
/Linux-v6.6/block/
Dblk-cgroup-fc-appid.c13 struct cgroup *cgrp; in blkcg_set_fc_appid() local
21 cgrp = cgroup_get_from_id(cgrp_id); in blkcg_set_fc_appid()
22 if (IS_ERR(cgrp)) in blkcg_set_fc_appid()
23 return PTR_ERR(cgrp); in blkcg_set_fc_appid()
24 css = cgroup_get_e_css(cgrp, &io_cgrp_subsys); in blkcg_set_fc_appid()
40 cgroup_put(cgrp); in blkcg_set_fc_appid()

1234