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

Jeff Moyer
2009-06-23T02:21:18Z

Vivek Goyal <vgoyal@redhat.com> writes:

> On Mon, Jun 22, 2009 at 02:16:12PM +0530, Balbir Singh wrote:
>> > + ioq->pid = current->pid;
>>
>> Is pid used for cgroup association later? I don't see why we save the
>> pid otherwise? If yes, why not store the cgroup of the current->pid?
>>
>
> This is just for logging purposes (blktrace), useful for CFQ where every task
> context sets up one queue and this number becomes the identifier for the queue.
> Look at elv_log_ioq(), which uses ioq->pid.

Well, that's not 100% accurate as tasks can share I/O contexts.
However, the 1:1 mapping does hold true most of the time.

> [..]
>> > + * coop tells that io scheduler selected a queue for us and we did not
>>
>> coop?
>
> coop refers to "cooperating". I guess "coop" is not descriptive. I will
> change the name to "cooperating" and also put more description for
> clarity.

I think just more description is fine. I'm not sure you need to spell
out cooperating (that will make for some long lines!).

>> > + struct io_queue *async_idle_queue;
>> > +
>> > + /*
>> > + * Used to track any pending rt requests so we can pre-empt current
>> > + * non-RT cfqq in service when this value is non-zero.
>> > + */
>> > + unsigned int busy_rt_queues;
>> > +};
>> > +
>> > +struct elv_fq_data {
>>
>> What does fq stand for?
>
> Fair queuing. Any suggestions to make it better?

I think you could just put it in the comment.

Cheers,
Jeff