[PATCH] membench: Add memory benchmark programs
Sebastian Huber
sebastian.huber at embedded-brains.de
Fri Jul 21 05:28:49 UTC 2023
On 21.07.23 03:27, Chris Johns wrote:
> On 21/7/2023 3:51 am, Sebastian Huber wrote:
>> On 20.07.23 18:58, Gedare Bloom wrote:
>>> On Thu, Jul 20, 2023 at 7:42 AM Sebastian Huber
>>> <sebastian.huber at embedded-brains.de> wrote:
>>>> These memory benchmark programs are not supposed to run. Instead, they
>>>> can be analysed on the host system to measure the memory usage of
>>>> features. See the membench module of rtems-central.
>>>>
>>> This needs some kind of documentation and probably a README inside of
>>> membench with that information.
>>
>> Ok, I can add a README.md.
>>
>>>
>>> This appears to be about benchmarking the program size (static memory
>>> usage) only? If so, make that clear in the README / log note. I think
>>> it's in the doxygen already so that's helpful.
>>
>> Yes, it measures only the static memory size required for certain operating
>> system services. See 4.7 Memory Usage Benchmarks in:
>>
>> https://ftp.rtems.org/pub/rtems/people/sebh/rtems-6-sparc-gr740-uni-6-scf.pdf
>
> Should `static` be part of naming?
Yes, good idea.
>
>>> What happens when the membench gets built, and then someone runs
>>> $> rtems-test build/${ARCH}/${BSP}/testsuites
>>>
>>> Because I don't see anything that is filtering these executables.
>>
>> They are filtered out due to the *.norun.* pattern:>
>> target: testsuites/membench/mem-scheduler-add-cpu.norun.exe
>>
>
> Currently tests with `norun` assume the build fails if there is an issue with a
> test. This is why we allow these tests and they are tagged `norun`.
We already have a couple of norun tests in libtests. This filtering is
simple and works fine why would you want to change it?
>
> I am happy to see these tests however I am not comfortable about the reference
> and dependency to rtems-central to understand or analyse them. I have looked at
> the test source and I do not understand their purpose. Are they generated?
Yes, they are generated in a two step process. A script generates the
specification items:
https://git.rtems.org/rtems-central/tree/generate_membench.py
The code is generated from items like this:
https://git.rtems.org/rtems-central/tree/spec/rtems/task/val/mem-wake-after.yml
>
> Are they suppose to be checked or are they informational? Is something going to
> be added to the project, for example in rtems-tools.git, to allow these tests to
> be checked?
Currently, they are just informational, however, it would be possible to
check the results if limits are specified. All the stuff to analyze this
and work with the specification is in rtems-central.git. If you think
this needs to be changed, then I am happy to discuss this. My preference
is still to get rid of all the separate repositories and move everything
back to rtems.git.
>
> I am sorry, until I understand more about these tests, I have to say no. I would
> much prefer to say yes but I will need a hand in understanding them.
>
> My concern is simple. I make a change and it effects something in these tests
> yet I have no ability to know if I have triggered a failure.
>
> We will be adding CI flows to improve the quality of what we do and this
> approach side steps that effort however I am not sure about this until I
> understand more about them.
I don't think this approach side steps improving the quality of what we
do, on the contrary, these static memory benchmarks and the
specification approach enables you to catch static memory usage
regressions. It would be ideally suited for CI jobs. In fact, the
infrastructure in rtems-central.git is an excellent tool box for CI jobs.
What is the plan for the CI flows?
--
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber at embedded-brains.de
phone: +49-89-18 94 741 - 16
fax: +49-89-18 94 741 - 08
Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
More information about the devel
mailing list