Re: [RFC V2 PATCH 2/5] cfq-iosched: preparation to handle multiple service trees

From: Jeff Moyer
Date: Wed Oct 21 2009 - 12:27:36 EST


Corrado Zoccolo <czoccolo@xxxxxxxxx> writes:

> Hi Jeff,
> On Wed, Oct 21, 2009 at 5:31 PM, Jeff Moyer <jmoyer@xxxxxxxxxx> wrote:
>> Corrado Zoccolo <czoccolo@xxxxxxxxx> writes:
>>
>>> We embed a pointer to the service tree in each queue, to handle multiple
>>> service trees easily.
>>> Service trees are enriched with a counter.
>>> cfq_add_rq_rb is invoked after putting the rq in the fifo, to ensure
>>> that all fields in rq are properly initialized.
>>>
>>> @@ -115,6 +116,9 @@ struct cfq_queue {
>>> Â Â Â unsigned short ioprio_class, org_ioprio_class;
>>>
>>> Â Â Â pid_t pid;
>>> +
>>> + Â Â struct cfq_rb_root *service_tree;
>>> + Â Â struct cfq_io_context *cic;
>>> Â};
>>
>> This change worries me. ÂFor async queues, there is not a 1:1 mapping
>> between cfqq and cic.
>
> Currently, I need it only for sync queues. And it is used only to
> determine if a queue is seeky, so if we can mark it in the queue
> instead of the cic, this will not be needed any more.

Ah ha! I have the same requirement for breaking the queues apart, so I
think this won't be an issue.

Thanks!
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/