Results of schedule() switching test with my patches ...

Davide Libenzi (davidel@maticad.it)
Wed, 9 Jun 1999 16:07:21 +0200


This is a multi-part message in MIME format.

------=_NextPart_000_0020_01BEB292.27B1DDD0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Hi guys,

I've done a patch to 2.3.5 that will improve schedule() switching speed
from 40 up to 70 %.
This patch use a set of "slot-of-goodness" in which schedule() search
the best task to run.
This results in a hi schedule() speed since the best task can be found
even in only 1 test while the previous one scan the entire runqueue list.
With this mail I include the patch and the little program
( great THX to Willy Terreau for his contribute ) used to test it.
The test program is very simple, it creates 450 threads that do nothing
but increment a counter and call syscall(SYS_sched_yield).
My results are:

2.3.5 Test 1 = 6169
2.3.5 Test 2 = 6087

Patch Test 1 = 8811
Patch Test 2 = 10325

Average gain = + 56 % !!!!

I'll be happy if this patch will be tested by other Linux users ( better if
in high-loaded
environmets ) to get other results.

Good work to everybody, cheers,
Davide.

--
"Debian, the Freedom in Freedom."

------=_NextPart_000_0020_01BEB292.27B1DDD0 Content-Type: application/x-gzip; name="sch-patch.diff.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="sch-patch.diff.gz"

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 C0+i5dUylfnzCyKV8/8HD4gH/kInAAA=

------=_NextPart_000_0020_01BEB292.27B1DDD0 Content-Type: application/x-gzip; name="threads.c.gz" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="threads.c.gz"

H4sICKKFXjcAA3RocmVhZHMuYwCdVm1v2zYQ/lz9ikuKNJJf5HhYh6VOgmZtsAVLlqFx0Q1LYNAS ZROhSI2i7LpB/vuOpF4dB9jGD5Z1JO+e5+7hUaOeBzCluaYKEqlALyk8UCUoP8whzyiNgQnIoyWN C87EIsTl/ocAxsfHxzCCL4zzDUyJUpQUcLI2r+9TqsnwayjV4szD5dcyZglDR/MNfCQrFlO4YnMq vjE4ie07f58SzSISh0zjFtzzpywgIgJiCesl0XSF8DZoWxOhYc30EoGyHDIlF4qkA5gXGi4PUxBS 425F80yKnM05taSI2EDK8iKnIfxEgayJouiAaGDahllSxIFEuCQx7iewlLkO4Tw3CzBOWnCNQZFk TOOBMaZssdSgyQO6i1eIiixoDjKB2+vfQ8PgUsOc5EjKJCjCnRrnCSyUXGMagaSyQCq4wbnFORFD SkleIHrcj4VgCqICQ2NuVhTWUj2Az0LkwKXMEARVOIM8RzmNpIiDEKZYPVnorDBZQNzoztBC4sTk AguwEEXGpbYQpxIimWaM04FNrjDV5myeOUjwzizCsYgiGN58B8NEpkwPE8w4HWaSCSOaoawZlM8Q V/PSh/FwYwGBRBnpGNEZYO+c5xMxn5W7zuCEYJUxjTPDFF+/USXt/9YS9DCL6YpZ4iiV3sjzXjMR 8QJVZWaZDJdnLVOJo2vM2UIQ3rUVguH2rk2zlBoLjtcxTZigcH3+x/SXTxfnH29fff/2qDFfnN9+ /nQxm15eX7z64cjsKCPPNLiBr381u+8nHuYP2kPMq0SetsI8X1eKZGbQmaWt0BNvJY1csNblIJFu vB5NPI9LVJ/9cX611ISbLHfB1X7K6LlGyaGHgQdbI9dE6d1TkdW4i7uSLG7PSYFHwsT1TQTEGHiP 1sE2XTax5vXSoPH3bLigG2fUw0YhDjXEWMNCzaHKvTt3fgCok2pxkXNKM398hCOYOIk3Wer3t8PJ LLCWx9oDS8C31IIO4yaT6OveOKqn801uGoE/fvtjMDFw0TCzTXW2YZTHDcKnLTzDocNTMaJfmfYN 7ifPSwkTNntELaIBREuioNfDl5XJ5e5kPi+SGVSp3RNktTCMdk8iJHNGHcBtXa0IL+iLTu2s24gt Yd7oFXP1t8IT7uaMxGctBjp/AQn6coRrNToHLQW6WafiyVaWG1vJqTFYpC0PFp15D4/KAieZQsqJ j+3D5BH278QHozvT5g/iujuGYbg/aA554PyZ68ln1j/gfdjM42u/v0t5PgbB9VsSf2PaC7sfwG+f r64G4Nvj1gvgTX3OWkYWBLCHIRv9PnbS+oxReSEgm27YU7QMzwB5sYERUUmqGhmapPL397fsVsTj lvGp/lf5j/EbIlr6jlW58sn71ymzpazPI7svm9BOcnDzK+zdiS+E2ZLZDwbOm1tNlqIyBawaRiWz cadbtASF6W1K/ULvqfOBDWHdjg5zZj8NMMqccaY3pjvsBv+zNNhrXJXex835QWnkNWwbvn2BbG/s HpSuG7v4f6jWHaH+aacik46ou7XqSNOMfr/Ta8omWbYRhOGeoxaO1tkdnYLpkgHeDkliqWj84NHV CSxbHFSr/GfOqhz9N9bbfQ2jr0zj8N1EsEV6WPMJ2heHazeYO7e9556d8/BcfGft/O2670oV7R/E d/pOH3Dunu3fBFXValeDsqHXN0LVKbsNucQ7wjZV0Ww+a3pNyZq/QYWpvtnwavsHVqdeppYMAAA=

------=_NextPart_000_0020_01BEB292.27B1DDD0--

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/