Lines Matching defs:next_in_service
47 static bool bfq_update_parent_budget(struct bfq_entity *next_in_service);
50 * bfq_update_next_in_service - update sd->next_in_service
58 * This function is called to update sd->next_in_service, which, in
70 * Returns true if sd->next_in_service changes in such a way that
71 * entity->parent may become the next_in_service for its parent
78 struct bfq_entity *next_in_service = sd->next_in_service;
85 * sd->next_in_service, then a full lookup in the active tree
88 * sd->next_in_service, is eligible and has a lower virtual
89 * finish time than sd->next_in_service. If this compound
91 * next_in_service. Otherwise no change is needed.
93 if (new_entity && new_entity != sd->next_in_service) {
96 * sd->next_in_service with new_entity. Tentatively
98 * sd->next_in_service is NULL.
103 * If there is already a next_in_service candidate
107 if (next_in_service) {
115 bfq_class_idx(next_in_service)
119 bfq_gt(next_in_service->finish,
124 next_in_service = new_entity;
128 next_in_service = bfq_lookup_next_entity(sd, expiration);
130 if (next_in_service) {
132 bfq_update_parent_budget(next_in_service);
134 parent_sched_may_change = !sd->next_in_service ||
138 sd->next_in_service = next_in_service;
140 if (!next_in_service)
159 * Returns true if this budget changes may let next_in_service->parent
160 * become the next_in_service entity for its parent entity.
162 static bool bfq_update_parent_budget(struct bfq_entity *next_in_service)
169 group_sd = next_in_service->sched_data;
179 if (bfqg_entity->budget > next_in_service->budget)
181 bfqg_entity->budget = next_in_service->budget;
190 * next_in_service. In particular, this function is invoked for an
241 static bool bfq_update_parent_budget(struct bfq_entity *next_in_service)
1084 * next_in_service entity below this entity has
1236 if (sd->next_in_service == entity)
1238 * entity was the next_in_service entity,
1244 if (sd->next_in_service || sd->in_service_entity) {
1247 * either next_in_service or in_service_entity
1250 * next_in_service has changed. Then the
1254 * next_in_service may happen to be NULL,
1260 * next_in_service, the in_service_entity
1262 * next_in_service. See the comments on the
1263 * definition of next_in_service for details.
1295 * active tree (because sd->next_in_service has
1304 * next_in_service unchanged or not causing
1503 return sd->next_in_service != sd->in_service_entity;
1527 * to sd->next_in_service, i.e., to the (cached) value
1535 * pointed to by sd->next_in_service. This rare event
1543 * service of the sd->next_in_service entity
1546 * exactly to update sd->next_in_service.
1549 /* Make next_in_service entity become in_service_entity */
1550 entity = sd->next_in_service;
1557 * considered when computing next_in_service. See the
1570 * next_in_service for the level of the descendant
1574 * update of next_in_service for this level before the