Lines Matching refs:sched

42 	struct mptcp_sched_ops *sched, *ret = NULL;  in mptcp_sched_find()  local
44 list_for_each_entry_rcu(sched, &mptcp_sched_list, list) { in mptcp_sched_find()
45 if (!strcmp(sched->name, name)) { in mptcp_sched_find()
46 ret = sched; in mptcp_sched_find()
59 struct mptcp_sched_ops *sched; in mptcp_get_available_schedulers() local
64 list_for_each_entry_rcu(sched, &mptcp_sched_list, list) { in mptcp_get_available_schedulers()
67 offs == 0 ? "" : " ", sched->name); in mptcp_get_available_schedulers()
76 int mptcp_register_scheduler(struct mptcp_sched_ops *sched) in mptcp_register_scheduler() argument
78 if (!sched->get_subflow) in mptcp_register_scheduler()
82 if (mptcp_sched_find(sched->name)) { in mptcp_register_scheduler()
86 list_add_tail_rcu(&sched->list, &mptcp_sched_list); in mptcp_register_scheduler()
89 pr_debug("%s registered\n", sched->name); in mptcp_register_scheduler()
93 void mptcp_unregister_scheduler(struct mptcp_sched_ops *sched) in mptcp_unregister_scheduler() argument
95 if (sched == &mptcp_sched_default) in mptcp_unregister_scheduler()
99 list_del_rcu(&sched->list); in mptcp_unregister_scheduler()
109 struct mptcp_sched_ops *sched) in mptcp_init_sched() argument
111 if (!sched) in mptcp_init_sched()
112 sched = &mptcp_sched_default; in mptcp_init_sched()
114 if (!bpf_try_module_get(sched, sched->owner)) in mptcp_init_sched()
117 msk->sched = sched; in mptcp_init_sched()
118 if (msk->sched->init) in mptcp_init_sched()
119 msk->sched->init(msk); in mptcp_init_sched()
121 pr_debug("sched=%s\n", msk->sched->name); in mptcp_init_sched()
128 struct mptcp_sched_ops *sched = msk->sched; in mptcp_release_sched() local
130 if (!sched) in mptcp_release_sched()
133 msk->sched = NULL; in mptcp_release_sched()
134 if (sched->release) in mptcp_release_sched()
135 sched->release(msk); in mptcp_release_sched()
137 bpf_module_put(sched, sched->owner); in mptcp_release_sched()
170 if (msk->sched == &mptcp_sched_default || !msk->sched) in mptcp_sched_get_send()
172 return msk->sched->get_subflow(msk, &data); in mptcp_sched_get_send()
192 if (msk->sched == &mptcp_sched_default || !msk->sched) in mptcp_sched_get_retrans()
194 return msk->sched->get_subflow(msk, &data); in mptcp_sched_get_retrans()