Vivek Goyal wrote:
...
> +static void place_entity(struct io_service_tree *st, struct io_entity 
> *entity,
> +                             int add_front)
> +{
> +     u64 vdisktime = st->min_vdisktime;
> +     struct rb_node *parent;
> +     struct io_entity *entry;
> +     int nr_active = st->nr_active - 1;
> +
> +     /*
> +      * Currently put entity at the end of last entity. This probably will
> +      * require adjustments as we move along
> +      */
> +     if (io_entity_class_idle(entity)) {
> +             vdisktime = elv_delta_fair(ELV_IDLE_DELAY, entity);
> +             parent = rb_last(&st->active);
> +             if (parent) {
> +                     entry = rb_entry(parent, struct io_entity, rb_node);
> +                     vdisktime += entry->vdisktime;
> +             }
> +     } else if (!add_front && nr_active) {
> +             parent = rb_last(&st->active);
> +             if (parent) {
> +                     entry = rb_entry(parent, struct io_entity, rb_node);
> +                     vdisktime = entry->vdisktime;
> +             }
> +     } else
> +             vdisktime = st->min_vdisktime;

Hi Vivek,

Should we set vdisktime a little small than st->min_vdisktime to ensure putting
this entity at the left-most position when add_front is set?

> +
> +     entity->vdisktime = max_vdisktime(st->min_vdisktime, vdisktime);
> +}
> +
> +static inline void io_entity_update_prio(struct io_entity *entity)
> +{
> +     if (unlikely(entity->ioprio_changed)) {
> +             /*
> +              * Re-initialize the service tree as ioprio class of the
> +              * entity might have changed.
> +              */
> +             init_io_entity_service_tree(entity, parent_entity(entity));
> +             entity->ioprio_changed = 0;
> +     }
> +}
> +


-- 
Regards
Gui Jianfeng

_______________________________________________
Containers mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to