Re: [PATCH 1/5] cfq-iosched: Don't group_idle if cfqq has big thinktime

From: Jan Kara
Date: Mon Jan 11 2016 - 10:40:17 EST


On Fri 08-01-16 11:58:31, Tejun Heo wrote:
> Hello, Jan.
>
> On Thu, Jan 07, 2016 at 04:28:12PM +0100, Jan Kara wrote:
> > @@ -2947,8 +2948,13 @@ 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)
> > + /*
> > + * There are other queues in the group or this is the only group and
> > + * it has too big thinktime, don't do group idle.
> > + */
> > + if (group_idle &&
> > + (cfqq->cfqg->nr_cfqq > 1 ||
> > + !cfq_io_thinktime_big(cfqd, &st->ttime, true)))
> > return;
>
> Is the negation in front of the cfq_io_thinktime_big() right? That
> doesn't seem to match the comment or description. What am I missing?

Ah, you are right! I wanted to make arming of group_idle timer consistent
with what we test in cfq_should_idle() for normal idle timer but I
accidentally reverted the condition. I'll fix this.

Honza
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR