Lines Matching defs:ag
48 struct autogroup *ag = container_of(kref, struct autogroup, kref);
52 ag->tg->rt_se = NULL;
53 ag->tg->rt_rq = NULL;
55 sched_release_group(ag->tg);
56 sched_destroy_group(ag->tg);
59 static inline void autogroup_kref_put(struct autogroup *ag)
61 kref_put(&ag->kref, autogroup_destroy);
64 static inline struct autogroup *autogroup_kref_get(struct autogroup *ag)
66 kref_get(&ag->kref);
67 return ag;
72 struct autogroup *ag;
78 ag = autogroup_kref_get(p->signal->autogroup);
81 return ag;
86 struct autogroup *ag = kzalloc(sizeof(*ag), GFP_KERNEL);
89 if (!ag)
96 kref_init(&ag->kref);
97 init_rwsem(&ag->lock);
98 ag->id = atomic_inc_return(&autogroup_seq_nr);
99 ag->tg = tg;
112 tg->autogroup = ag;
115 return ag;
118 kfree(ag);
122 ag ? "sched_create_group()" : "kzalloc()");
157 autogroup_move_group(struct task_struct *p, struct autogroup *ag)
167 if (prev == ag) {
172 p->signal->autogroup = autogroup_kref_get(ag);
194 struct autogroup *ag = autogroup_create();
196 autogroup_move_group(p, ag);
199 autogroup_kref_put(ag);
233 struct autogroup *ag;
252 ag = autogroup_task_get(p);
257 down_write(&ag->lock);
258 err = sched_group_set_shares(ag->tg, shares);
260 ag->nice = nice;
261 up_write(&ag->lock);
263 autogroup_kref_put(ag);
270 struct autogroup *ag = autogroup_task_get(p);
272 if (!task_group_is_autogroup(ag->tg))
275 down_read(&ag->lock);
276 seq_printf(m, "/autogroup-%ld nice %d\n", ag->id, ag->nice);
277 up_read(&ag->lock);
280 autogroup_kref_put(ag);