[PATCH 02/20] io-controller: Common flat fair queuing code in elevaotor layer

Gui Jianfeng guijianfeng at cn.fujitsu.com
Wed Jul 1 02:24:46 PDT 2009


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



More information about the Containers mailing list