Messages in this thread | | | Date | Wed, 01 Jul 2009 17:24:46 +0800 | From | Gui Jianfeng <> | Subject | Re: [PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer |
| |
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
| |