Messages in this thread | | | Date | Mon, 26 Oct 2009 16:14:57 +0100 | Subject | Re: [RFC V2 PATCH 1/5] cfq-iosched: adapt slice to number of processes doing I/O | From | Corrado Zoccolo <> |
| |
On Mon, Oct 26, 2009 at 4:10 PM, Jeff Moyer <jmoyer@redhat.com> wrote: > Corrado Zoccolo <czoccolo@gmail.com> writes: >> >> What about: >> /* interested queues (we consider only the ones with the same priority class) */ >> unsigned iq = cfq_get_avg_queues(cfqd, cfq_class_rt(cfqq)); >> unsigned sync_slice = cfqd->cfq_slice[1]; >> unsigned expected_latency = sync_slice * iq; >> if (expected_latency > target_latency) { >> unsigned base_low_slice = 2 * cfqd->cfq_slice_idle; >> /* scale low_slice according to IO priority and sync vs async */ >> unsigned low_slice = min(slice, base_low_slice * slice / sync_slice); >> /* the adapted slice value is scaled to fit all iqs into the target latency */ >> slice = max(slice * cfq_target_latency / expected_latency, low_slice); >> } > > Yeah, that looks a ton better. Thanks for doing that!
Jens, if you like the new version of the code (integrating this last change), I can rebase my patch set on top of Jeff's, since it is already queued for 2.6.33 .
Corrado
> > Cheers, > Jeff > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |