Re: [PATCH][CFT] new IO scheduler for 2.4.20

From: Neil Schemenauer (nas@python.ca)
Date: Sun Apr 20 2003 - 13:26:48 EST


Andrew Morton wrote:
> One suggestion I'd make here is to not count "sectors" at all. Just
> count requests.
[...]
> I'd be interested in seeing some comparative benchmark results with
> the above DoS attack. And contest numbers too...

Okay, nas1 is the patch I orginally posted. With nas2, I am counting
requests instead of sectors. The times below are for the find/cat
command to complete while the dd command is running.

            time
    2.4.20 ????????? (I gave up after about 15 minutes)
    -nas1 1m56.746s
    -nas2 2m36.928s

Here's the contest results:

    no_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 50 90.0 0.0 0.0 1.00
    2.4.20-nas1 1 50 90.0 0.0 0.0 1.00
    2.4.20-nas2 1 50 92.0 0.0 0.0 1.00
    cacherun:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 46 97.8 0.0 0.0 0.92
    2.4.20-nas1 1 46 97.8 0.0 0.0 0.92
    2.4.20-nas2 1 46 97.8 0.0 0.0 0.92
    process_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 74 58.1 70.0 40.5 1.48
    2.4.20-nas1 1 75 57.3 73.0 40.0 1.50
    2.4.20-nas2 1 76 56.6 76.0 40.8 1.52
    ctar_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 60 78.3 9.0 16.7 1.20
    2.4.20-nas1 1 58 81.0 8.0 13.8 1.16
    2.4.20-nas2 1 60 78.3 9.0 16.7 1.20
    xtar_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 139 34.5 6.0 7.9 2.78
    2.4.20-nas1 1 71 64.8 2.0 4.2 1.42
    2.4.20-nas2 1 71 66.2 1.0 4.2 1.42
    io_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 191 27.7 42.1 13.1 3.82
    2.4.20-nas1 1 71 71.8 12.1 8.5 1.42
    2.4.20-nas2 1 76 69.7 12.3 9.1 1.52
    io_other:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 97 55.7 21.5 12.4 1.94
    2.4.20-nas1 1 65 80.0 12.3 9.0 1.30
    2.4.20-nas2 1 68 79.4 15.5 11.8 1.36
    read_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 75 73.3 3.6 9.3 1.50
    2.4.20-nas1 1 75 70.7 3.4 9.3 1.50
    2.4.20-nas2 1 79 69.6 3.7 8.9 1.58
    list_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 66 89.4 0.0 7.5 1.32
    2.4.20-nas1 1 66 87.9 0.0 7.6 1.32
    2.4.20-nas2 1 66 87.9 0.0 7.6 1.32
    mem_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 78 62.8 77.0 3.8 1.56
    2.4.20-nas1 1 70 68.6 77.0 5.7 1.40
    2.4.20-nas2 1 68 72.1 75.0 5.9 1.36
    dbench_load:
    Kernel [runs] Time CPU% Loads LCPU% Ratio
    2.4.20 1 202 23.8 6.0 60.4 4.04
    2.4.20-nas1 1 194 24.2 6.0 63.4 3.88
    2.4.20-nas2 1 194 24.2 6.0 63.4 3.88

It looks like nas1 works a little better. I think the reason is that if
requests are counted then as soon as there is one read in queue, however
small, the next non-contiguous read request will be inserted after a
write request, however large.

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



This archive was generated by hypermail 2b29 : Wed Apr 23 2003 - 22:00:27 EST