[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49r5iwblp0.fsf@segfault.boston.devel.redhat.com>
Date: Wed, 21 Jul 2010 16:54:03 -0400
From: Jeff Moyer <jmoyer@...hat.com>
To: Vivek Goyal <vgoyal@...hat.com>
Cc: linux-kernel@...r.kernel.org, axboe@...nel.dk, nauman@...gle.com,
dpshah@...gle.com, guijianfeng@...fujitsu.com, czoccolo@...il.com
Subject: Re: [PATCH 2/3] cfq-iosched: Implement a tunable group_idle
Vivek Goyal <vgoyal@...hat.com> writes:
> On Wed, Jul 21, 2010 at 03:40:44PM -0400, Jeff Moyer wrote:
>> Vivek Goyal <vgoyal@...hat.com> writes:
>>
>> > o Implement a new tunable group_idle, which allows idling on the group
>> > instead of a cfq queue. Hence one can set slice_idle = 0 and not idle
>> > on the individual queues but idle on the group. This way on fast storage
>> > we can get fairness between groups at the same time overall throughput
>> > improves.
>> >
>> > Signed-off-by: Vivek Goyal <vgoyal@...hat.com>
>> > ---
>> [snip]
>> > @@ -1929,13 +1941,21 @@ static void cfq_arm_slice_timer(struct cfq_data *cfqd)
>> > return;
>> > }
>> >
>> > + /* There are other queues in the group, don't do group idle */
>> > + if (group_idle && cfqq->cfqg->nr_cfqq > 1)
>> > + return;
>> > +
>> > cfq_mark_cfqq_wait_request(cfqq);
>> >
>> > - sl = cfqd->cfq_slice_idle;
>> > + if (group_idle)
>> > + sl = cfqd->cfq_group_idle;
>> > + else
>> > + sl = cfqd->cfq_slice_idle;
>>
>> What happens when both group_idle and slice_idle are set?
>
> slice_idle prevails. Notice that "group_idle" is a local variable which
> is set to 1 only if we decide not to idle on the cfq queue.
Ah, silly me.
Cheers,
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists