Re: [PATCH] Avoid preferential treatment of groups that aren't backlogged

From: Chad Talbott
Date: Wed Feb 09 2011 - 21:45:34 EST


On Wed, Feb 9, 2011 at 6:09 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> In upstream code once a group gets backlogged we put it at the end
> and not at the beginning of the tree. (I am wondering are you looking
> at the google internal code :-))
>
> So I don't think that issue of a low weight group getting more disk
> time than its fair share is present in upstream kernels.

You've caught me re-using a commit description. :)

Here's an example of the kind of tests that fail without this patch
(run via the test that Justin and Akshay have posted):

15:35:35 INFO ----- Running experiment 14: 950 rdrand, 50 rdrand.delay10
15:35:55 INFO Experiment completed in 20.4 seconds
15:35:55 INFO experiment 14 achieved DTFs: 886, 113
15:35:55 INFO experiment 14 FAILED: max observed error is 64, allowed is 50

15:35:55 INFO ----- Running experiment 15: 950 rdrand, 50 rdrand.delay50
15:36:16 INFO Experiment completed in 20.5 seconds
15:36:16 INFO experiment 15 achieved DTFs: 891, 108
15:36:16 INFO experiment 15 FAILED: max observed error is 59, allowed is 50

Since this is Jens' unmodified tree, I've had to change
BLKIO_WEIGHT_MIN to 10 to allow this test to proceed. We typically
run many jobs with small weights, and achieve the requested isolation:
see below results with this patch:

14:59:17 INFO ----- Running experiment 14: 950 rdrand, 50 rdrand.delay10
14:59:36 INFO Experiment completed in 19.0 seconds
14:59:36 INFO experiment 14 achieved DTFs: 947, 52
14:59:36 INFO experiment 14 PASSED: max observed error is 3, allowed is 50

14:59:36 INFO ----- Running experiment 15: 950 rdrand, 50 rdrand.delay50
14:59:55 INFO Experiment completed in 18.5 seconds
14:59:55 INFO experiment 15 achieved DTFs: 944, 55
14:59:55 INFO experiment 15 PASSED: max observed error is 6, allowed is 50

As you can see, it's with seeky workloads that come and go from the
service tree where this patch is required.

Chad
--
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/