Re: [PATCH 4/4] cfq-iosched: fix corner cases in idling logic

From: Jeff Moyer
Date: Wed Dec 02 2009 - 10:13:29 EST


Vivek Goyal <vgoyal@xxxxxxxxxx> writes:

> Does it make a big difference. cfq_close_cooperator() does not seem to be
> relying on coop flag. It will return us a queue if it thinks there is a
> close cooperator. (Irrespective of the fact whether cfqq->new_cfqq has bee
> setup yet or not). IIUC, cfqq->new_cfqq will be set in select_queue(). So
> in case select_queue() has not run yet, then cfqq->new_cfqq = NULL but we
> have a close cooperator.
>
> But I guess this condition will not hit many a times as select_queue()
> happens very frequently on NCQ hardware and the moment select queue finds
> close cooperator it will expire the current queue and above check will not
> even get a chance to turn.
>
> So IIUC, if we are here cfqq->new_cfqq is always NULL otherwise select_queue()
> by now must have expired us and we will not be here. So either we can
> completely remove the check or we can just continue with above check.

Wow, I need another cup of coffee for sure. You can just ignore me as I
completely misread the code being changed.

Sorry for the noise. I'll go make some coffee.

Cheers,
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/