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

From: Corrado Zoccolo
Date: Wed Oct 21 2009 - 12:25:55 EST


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.

> ÂWith my forthcoming close cooperator changes, the
> same will be true for sync queues.
Yes, I saw it. This is currently just an RFC. If your changes got
merged before, I'll devise an alternative solution to this problem.

Corrado

> Cheers,
> Jeff
>



--
__________________________________________________________________________

dott. Corrado Zoccolo mailto:czoccolo@xxxxxxxxx
PhD - Department of Computer Science - University of Pisa, Italy
--------------------------------------------------------------------------
The self-confidence of a warrior is not the self-confidence of the average
man. The average man seeks certainty in the eyes of the onlooker and calls
that self-confidence. The warrior seeks impeccability in his own eyes and
calls that humbleness.
Tales of Power - C. Castaneda
--
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/