[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