• Home
  • Raw
  • Download

Lines Matching refs:ag

27 	struct autogroup *ag = container_of(kref, struct autogroup, kref);  in autogroup_destroy()  local
31 ag->tg->rt_se = NULL; in autogroup_destroy()
32 ag->tg->rt_rq = NULL; in autogroup_destroy()
34 sched_offline_group(ag->tg); in autogroup_destroy()
35 sched_destroy_group(ag->tg); in autogroup_destroy()
38 static inline void autogroup_kref_put(struct autogroup *ag) in autogroup_kref_put() argument
40 kref_put(&ag->kref, autogroup_destroy); in autogroup_kref_put()
43 static inline struct autogroup *autogroup_kref_get(struct autogroup *ag) in autogroup_kref_get() argument
45 kref_get(&ag->kref); in autogroup_kref_get()
46 return ag; in autogroup_kref_get()
51 struct autogroup *ag; in autogroup_task_get() local
57 ag = autogroup_kref_get(p->signal->autogroup); in autogroup_task_get()
60 return ag; in autogroup_task_get()
65 struct autogroup *ag = kzalloc(sizeof(*ag), GFP_KERNEL); in autogroup_create() local
68 if (!ag) in autogroup_create()
75 kref_init(&ag->kref); in autogroup_create()
76 init_rwsem(&ag->lock); in autogroup_create()
77 ag->id = atomic_inc_return(&autogroup_seq_nr); in autogroup_create()
78 ag->tg = tg; in autogroup_create()
91 tg->autogroup = ag; in autogroup_create()
94 return ag; in autogroup_create()
97 kfree(ag); in autogroup_create()
101 ag ? "sched_create_group()" : "kzalloc()"); in autogroup_create()
136 autogroup_move_group(struct task_struct *p, struct autogroup *ag) in autogroup_move_group() argument
145 if (prev == ag) { in autogroup_move_group()
150 p->signal->autogroup = autogroup_kref_get(ag); in autogroup_move_group()
172 struct autogroup *ag = autogroup_create(); in sched_autogroup_create_attach() local
174 autogroup_move_group(p, ag); in sched_autogroup_create_attach()
177 autogroup_kref_put(ag); in sched_autogroup_create_attach()
211 struct autogroup *ag; in proc_sched_autogroup_set_nice() local
230 ag = autogroup_task_get(p); in proc_sched_autogroup_set_nice()
235 down_write(&ag->lock); in proc_sched_autogroup_set_nice()
236 err = sched_group_set_shares(ag->tg, shares); in proc_sched_autogroup_set_nice()
238 ag->nice = nice; in proc_sched_autogroup_set_nice()
239 up_write(&ag->lock); in proc_sched_autogroup_set_nice()
241 autogroup_kref_put(ag); in proc_sched_autogroup_set_nice()
248 struct autogroup *ag = autogroup_task_get(p); in proc_sched_autogroup_show_task() local
250 if (!task_group_is_autogroup(ag->tg)) in proc_sched_autogroup_show_task()
253 down_read(&ag->lock); in proc_sched_autogroup_show_task()
254 seq_printf(m, "/autogroup-%ld nice %d\n", ag->id, ag->nice); in proc_sched_autogroup_show_task()
255 up_read(&ag->lock); in proc_sched_autogroup_show_task()
258 autogroup_kref_put(ag); in proc_sched_autogroup_show_task()