Skip to contentSkip to conversation

100Hz v 1000Hz with contest

BENCHMARK Con Kolivas 5 participants 6 messages Jun 3, 2003

lore
Share & tools
lore
#0 lore raw

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've attempted to answer the question does 1000Hz hurt responsiveness in 2.5 as much as I've found in 2.4; since subjectively the difference wasn't there in 2.5. Using the same config with preempt enabled here are results from 2.5.70-mm3 set at default 1000Hz and at 100Hz (mm31):

no_load:

Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          1   79      94.9    0.0     0.0     1.00
2.5.70-mm31         1   77      94.8    0.0     0.0     1.00
cacherun:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          1   76      97.4    0.0     0.0     0.96
2.5.70-mm31         1   74      98.6    0.0     0.0     0.96
process_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   108     68.5    64.5    28.7    1.37
2.5.70-mm31         2   107     69.2    67.0    29.0    1.39
ctar_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          3   114     70.2    1.0     5.3     1.44
2.5.70-mm31         3   105     73.3    0.7     3.8     1.36
xtar_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          3   123     62.6    2.3     5.7     1.56
2.5.70-mm31         3   122     61.5    2.0     4.9     1.58
io_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          4   116     66.4    40.6    18.8    1.47
2.5.70-mm31         4   114     65.8    41.0    19.3    1.48
io_other:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   116     66.4    50.0    22.2    1.47
2.5.70-mm31         2   112     67.9    46.1    21.4    1.45
read_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   104     75.0    8.2     5.8     1.32
2.5.70-mm31         2   100     76.0    7.5     7.0     1.30
list_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   95      80.0    0.0     7.4     1.20
2.5.70-mm31         2   92      82.6    0.0     5.4     1.19
mem_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   98      80.6    53.0    2.0     1.24
2.5.70-mm31         2   95      81.1    53.0    2.1     1.23
dbench_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          4   313     24.3    5.0     56.9    3.96
2.5.70-mm31         4   297     24.9    4.5     52.5    3.86

At first glance everything looks faster at 100Hz. However it is well known that it will take slightly longer even with no load at 1000Hz. Taking that into consideration and looking more at the final ratios than the absolute numbers it is apparent that the difference is statistically insignificant, except on ctar_load.

Previously I had benchmark results on 1000Hz which showed preempt improved the results in a few of the loads. For my next experiment I will compare 100Hz with preempt to 100Hz without.

Con
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+3BRIF6dfvkL3i1gRAnEbAKCpaj/kajzKV3qVrWGRIhOh+Q8O8gCfZp6c M3Iq1D/41t+4SB2jtNYQc48=
=NMfC
-----END PGP SIGNATURE-----

#1 lore raw
Quoted 4 lines · Con Kolivas

I've attempted to answer the question does 1000Hz hurt responsiveness in 2.5 as much as I've found in 2.4; since subjectively the difference wasn't there in 2.5. Using the same config with preempt enabled here are results from 2.5.70-mm3 set at default 1000Hz and at 100Hz (mm31):

Thanks for carrying out these =)

Quoted 10 lines

ctar_load:

Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          3   114     70.2    1.0     5.3     1.44
2.5.70-mm31         3   105     73.3    0.7     3.8     1.36

dbench_load:

Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          4   313     24.3    5.0     56.9    3.96
2.5.70-mm31         4   297     24.9    4.5     52.5    3.86
Quoted 5 lines

At first glance everything looks faster at 100Hz. However it is well known that it will take slightly longer even with no load at 1000Hz. Taking that into consideration and looking more at the final ratios than the absolute numbers it is apparent that the difference is statistically insignificant, except on ctar_load.

What about dbench_load?

Quoted 3 lines

Previously I had benchmark results on 1000Hz which showed preempt improved the results in a few of the loads. For my next experiment I will compare 100Hz with preempt to 100Hz without.

Cheers,
Zwane

Signature · 1 line
function.linuxpower.ca
#2 lore raw
In reply to Con Kolivas

Well thats nice, AS holds up OK...

Quoted 71 lines · Con Kolivas

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

I've attempted to answer the question does 1000Hz hurt responsiveness in 2.5 as much as I've found in 2.4; since subjectively the difference wasn't there in 2.5. Using the same config with preempt enabled here are results from 2.5.70-mm3 set at default 1000Hz and at 100Hz (mm31):

no_load:

Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          1   79      94.9    0.0     0.0     1.00
2.5.70-mm31         1   77      94.8    0.0     0.0     1.00
cacherun:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          1   76      97.4    0.0     0.0     0.96
2.5.70-mm31         1   74      98.6    0.0     0.0     0.96
process_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   108     68.5    64.5    28.7    1.37
2.5.70-mm31         2   107     69.2    67.0    29.0    1.39
ctar_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          3   114     70.2    1.0     5.3     1.44
2.5.70-mm31         3   105     73.3    0.7     3.8     1.36
xtar_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          3   123     62.6    2.3     5.7     1.56
2.5.70-mm31         3   122     61.5    2.0     4.9     1.58
io_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          4   116     66.4    40.6    18.8    1.47
2.5.70-mm31         4   114     65.8    41.0    19.3    1.48
io_other:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   116     66.4    50.0    22.2    1.47
2.5.70-mm31         2   112     67.9    46.1    21.4    1.45
read_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   104     75.0    8.2     5.8     1.32
2.5.70-mm31         2   100     76.0    7.5     7.0     1.30
list_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   95      80.0    0.0     7.4     1.20
2.5.70-mm31         2   92      82.6    0.0     5.4     1.19
mem_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          2   98      80.6    53.0    2.0     1.24
2.5.70-mm31         2   95      81.1    53.0    2.1     1.23
dbench_load:
Kernel         [runs]   Time    CPU%    Loads   LCPU%   Ratio
2.5.70-mm3          4   313     24.3    5.0     56.9    3.96
2.5.70-mm31         4   297     24.9    4.5     52.5    3.86

At first glance everything looks faster at 100Hz. However it is well known that it will take slightly longer even with no load at 1000Hz. Taking that into consideration and looking more at the final ratios than the absolute numbers it is apparent that the difference is statistically insignificant, except on ctar_load.

Previously I had benchmark results on 1000Hz which showed preempt improved the results in a few of the loads. For my next experiment I will compare 100Hz with preempt to 100Hz without.

Con
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQE+3BRIF6dfvkL3i1gRAnEbAKCpaj/kajzKV3qVrWGRIhOh+Q8O8gCfZp6c M3Iq1D/41t+4SB2jtNYQc48=
=NMfC
-----END PGP SIGNATURE-----

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

#3 lore raw
In reply to Con Kolivas
Quoted 4 lines · On 03-Jun-2003 Con Kolivas wrote:

I've attempted to answer the question does 1000Hz hurt responsiveness in 2.5 as much as I've found in 2.4; since subjectively the difference wasn't there in 2.5. Using the same config with preempt enabled here are results from 2.5.70-mm3 set at default 1000Hz and at 100Hz (mm31):

Is there any problem using a frequency other than 100 and 1000Hz ?

Bye.

#4 lore raw
Quoted 7 lines · Giuliano Pochini
Quoted 4 lines · On 03-Jun-2003 Con Kolivas wrote:

I've attempted to answer the question does 1000Hz hurt responsiveness in 2.5 as much as I've found in 2.4; since subjectively the difference wasn't there in 2.5. Using the same config with preempt enabled here are results from 2.5.70-mm3 set at default 1000Hz and at 100Hz (mm31):

Is there any problem using a frequency other than 100 and 1000Hz ?

Not at all. These were chosen because they were the default 2.4 (100) and 2.5 (1000) frequencies. The large difference in Hz was postulated to increase the in-kernel overhead and the amount of time spent tearing down and building up the cpu cache again. 2.4 running at 1000Hz shows poor performance at high (>4) loads whereas 2.5 doesn't seem to do this. I originally thought it was cache thrashing/trashing responsible. However since 2.5 performance is almost comparable at 100/1000 it seems to be that the pure interrupt overhead in 2.5 is lower?

Con

#5 lore raw
Quoted 1 line · Giuliano Pochini
Quoted 1 line

Is there any problem using a frequency other than 100 and 1000Hz ?

Quoted 8 lines · Con Kolivas

Not at all. These were chosen because they were the default 2.4 (100) and 2.5 (1000) frequencies. The large difference in Hz was postulated to increase the in-kernel overhead and the amount of time spent tearing down and building up the cpu cache again. 2.4 running at 1000Hz shows poor performance at high (>4) loads whereas 2.5 doesn't seem to do this. I originally thought it was cache thrashing/trashing responsible. However since 2.5 performance is almost comparable at 100/1000 it seems to be that the pure interrupt overhead in 2.5 is lower?

You could try profiling cache misses etc.

I blame count_active_tasks(). =)

-- wli