Vivek Goyal wrote: ... > + * If ioscheduler has functionality of keeping track of close cooperator, check > + * with it if it has got a closely co-operating queue. > + */ > +static inline struct io_queue *elv_close_cooperator(struct request_queue *q, > + struct io_queue *ioq, int probe) > +{ > + struct elevator_queue *e = q->elevator; > + struct io_queue *new_ioq = NULL; > + > + /* > + * Currently this feature is supported only for flat hierarchy or > + * root group queues so that default cfq behavior is not changed. > + */ > + if (!is_root_group_ioq(q, ioq)) > + return NULL; > + > + if (q->elevator->ops->elevator_close_cooperator_fn) > + new_ioq = e->ops->elevator_close_cooperator_fn(q, > + ioq->sched_queue, probe); > + > + /* Only select co-operating queue if it belongs to root group */ > + if (new_ioq && !is_root_group_ioq(q, new_ioq)) > + return NULL; > + > + return new_ioq; > +} Hi Vivek, Currently, whether we can let this feature be supported if current queue and found queue are in the same group? I guess this change won't break the default cfq behavior. Am i missing something? -- Regards Gui Jianfeng -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel