[PATCH 4/4] SPARC: optimize IRQ enable & disable
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Nov 21 09:37:57 UTC 2014
On 20/11/14 15:23, Daniel Hellstrom wrote:
> On 11/20/2014 03:09 PM, Sebastian Huber wrote:
[...]
>> The image is a boxplot of all the MaxThreadDispatchDisabledTime samples.
>
> I think this is a nice utility and you seem to be able to update the
> results quickly too. Thanks. Since it is the test-suite you run how
> can we be sure that a test is not badly written, I mean disabling
> interrupts for too long time since the test itself is not testing
> interrupt latencies etc.? Perhaps the mean is most interesting, or
> that some of the max cases should be ignored? Have you analysed the
> worst tests to see where the effects comes from?
Is is very easy to use the XMP reports produced by the test suite.
1. Run the test suite with --enable-profiling and gather all the output
in one big file.
2. Filter the big file with the filter-test-xml.py which deletes
everything that doesn't look like XML.
3. Use the XML X Path language to get what you want, for example boxplot.py.
The mean values are not that interesting since the main goal for a
real-time operating system is to provide a reasonable worst case thread
dispatch latency. Attached are the outliers for the two test runs. I
didn't analyse every outlier in detail, but most can be explained with
interrupt processing of the clock tick and some inherent problems of the
SMP support.
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: filter-test-xml.py
Type: text/x-python
Size: 656 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20141121/7dbc5d35/attachment-0004.py>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: boxplot.py
Type: text/x-python
Size: 1637 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/devel/attachments/20141121/7dbc5d35/attachment-0005.py>
-------------- next part --------------
.Tests with a maximum thread dispatch disabled time greater than 65921ns (outliers).
[cols="<,>",frame="topbot",options="header"]
|==============================================================
| Test | Maximum thread dispatch disable time [ns]
| SPTLS 2 | 66133
| SMPLOAD 1 | 67155
| PSXMSGQ 1 | 67377
| SPINTRCRITICAL 8 | 68555
| SMPSCHEDAFFINITY 5 | 69311
| BLOCK 5 | 69866
| FSDOSFSFORMAT 1 | 70644
| CPUUSE | 73400
| SPINTRCRITICAL 15 | 73511
| SMPWAKEAFTER 1 | 73822
| SMPWAKEAFTER 1 | 74133
| SPINTRCRITICAL 7 | 75911
| SP 11 | 77933
| SP 4 | 79066
| SPINTRCRITICAL 6 | 81111
| SPINTRCRITICAL 10 | 81333
| SMPWAKEAFTER 1 | 83977
| SP 69 | 84200
| SMPMIGRATION 2 | 84977
| RTMONUSE | 87177
| SMPLOAD 1 | 88088
| SMPSCHEDULER 1 | 93866
| SMPWAKEAFTER 1 | 95000
| PSXINTRCRITICAL 1 | 99933
| SMPLOAD 1 | 100577
| SMPMRSP 1 | 104266
| PSXMSGQ 4 | 112022
| SPINTRCRITICAL 20 | 114533
| SMPSCHEDULER 3 | 122777
| SMPMRSP 1 | 123800
| SMPMRSP 1 | 129422
| SMPMRSP 1 | 131488
| SMPSCHEDULER 3 | 153222
| SPINTRCRITICAL 17 | 155688
| SMPSCHEDULER 3 | 190044
|==============================================================
-------------- next part --------------
.Tests with a maximum thread dispatch disabled time greater than 62187ns (outliers).
[cols="<,>",frame="topbot",options="header"]
|==============================================================
| Test | Maximum thread dispatch disable time [ns]
| CPUUSE | 62577
| SPTLS 2 | 62644
| SP 4 | 63311
| FSDOSFSFORMAT 1 | 64622
| FSFPATHCONF RFS | 64822
| FSTIME DOSFS | 65444
| FSSYMLINK RFS | 65977
| SPINTRCRITICAL 1 | 66955
| PSXMSGQ 1 | 67111
| SPINTRCRITICAL 5 | 67355
| SPINTRCRITICAL 3 | 67511
| SPINTRCRITICAL 12 | 69311
| SPINTRCRITICAL 11 | 69400
| SPINTRCRITICAL 22 | 69622
| SMPMIGRATION 2 | 70111
| RTMONUSE | 70155
| SPINTRCRITICAL 2 | 71400
| SMPWAKEAFTER 1 | 71755
| SPINTRCRITICAL 4 | 71955
| SPINTRCRITICAL 21 | 72688
| SPINTRCRITICAL 16 | 73311
| SP 11 | 73555
| SPINTRCRITICAL 14 | 74000
| SPINTRCRITICAL 9 | 74933
| SPINTRCRITICAL 8 | 76488
| SMPLOAD 1 | 77355
| SMPMIGRATION 2 | 79000
| BLOCK 5 | 80222
| FLASHDISK 1 | 82644
| SPINTRCRITICAL 7 | 85155
| SMPWAKEAFTER 1 | 86022
| SPINTRCRITICAL 15 | 86355
| SPINTRCRITICAL 6 | 88488
| PSXINTRCRITICAL 1 | 90000
| SPINTRCRITICAL 10 | 91666
| SMPWAKEAFTER 1 | 92244
| SMPLOAD 1 | 97222
| SMPSCHEDULER 1 | 102133
| SMPMRSP 1 | 105244
| PSXMSGQ 4 | 108066
| SMPMRSP 1 | 124555
| SPINTRCRITICAL 20 | 126444
| SMPMRSP 1 | 127244
| SMPSCHEDULER 3 | 131755
| SMPMRSP 1 | 139444
| SPINTRCRITICAL 17 | 152400
| SMPSCHEDULER 3 | 163311
| SMPLOAD 1 | 170422
| SMPWAKEAFTER 1 | 179688
| SMPSCHEDULER 3 | 199400
|==============================================================
More information about the devel
mailing list