[oe] [meta-oe][PATCH] add a storage I/O benchmark test suite

Paolo Valente paolo.valente at linaro.org
Tue Oct 30 15:25:28 UTC 2018



> Il giorno 25 ott 2018, alle ore 20:17, Randy MacLeod <randy.macleod at windriver.com> ha scritto:
> 
> On 10/25/18 1:46 PM, Paolo Valente wrote:
>> [RESENDING: FIRST ATTEMPT REJECTED BECAUSE I WAS NOT SUBSCRIBED TO THE LIST]
>>> Il giorno 23 ott 2018, alle ore 15:33, Anders Roxell <anders.roxell at linaro.org> ha scritto:
>>> 
>>> CCing in the package maintainer.
>>> 
>> Thanks Anders, hi everybody,
>>> On Sun, 21 Oct 2018 at 17:10, Khem Raj <raj.khem at gmail.com> wrote:
>>>> 
>>>> On Sun, Oct 21, 2018 at 12:29 AM Randy MacLeod
>>>> <randy.macleod at windriver.com> wrote:
>>>>> 
>>>>> On 10/19/18 10:54 AM, Anders Roxell wrote:
>>>>>> Signed-off-by: Anders Roxell <anders.roxell at linaro.org>
>>>>>> ---
>>>>>> .../recipes-benchmark/s-suite/s-suite_git.bb  | 30 +++++++++++++++++++
>>>>>> 1 file changed, 30 insertions(+)
>>>>>> create mode 100644 meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
>>>>>> 
>>>>>> diff --git a/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb b/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
>>>>>> new file mode 100644
>>>>>> index 000000000000..77d172814065
>>>>>> --- /dev/null
>>>>>> +++ b/meta-oe/recipes-benchmark/s-suite/s-suite_git.bb
>>>>>> @@ -0,0 +1,30 @@
>>>>>> +SUMMARY = "Small collection of benchmarks for storage I/O"
>>>>>> +LICENSE = "GPLv2"
>>>>>> +LIC_FILES_CHKSUM = "file://COPYING;md5=b529aaa6a0c50f15d29f89609b5c22f3"
>>>>>> +
>>>>>> +SRCREV = "79698f645bfb28d0d966484ddad3a1efb562246d"
>>>>>> +PV = "0.0+git${SRCPV}"
>>>>>> +SRC_URI = "git://github.com/Algodev-github/S.git;protocol=https;branch=master"
>>>>>> +
>>>>>> +S = "${WORKDIR}/git"
>>>>>> +
>>>>>> +# installing in /opt/S-suite since the package has
>>>>>> +# dependencies to the directory structure.
>>>>>> +do_install() {
>>>>>> +    install -d ${D}/opt/S-suite
>>>>>> +    for i in $(find ${S}/* -type d); do
>>>>>> +        install -d ${D}/opt/S-suite/$(basename $i)
>>>>>> +        install -m0755 -p ${S}/$(basename $i)/* ${D}/opt/S-suite/$(basename $i)
>>>>>> +    done
>>>>>> +
>>>>>> +    install -m0755 ${S}/config_params.sh ${D}/opt/S-suite
>>>>>> +    install -m0755 ${S}/def_config_params.sh ${D}/opt/S-suite
>>>>>> +}
>>>>>> +
>>>>>> +RDEPENDS_${PN} = "bash bc coreutils gawk g++ gcc fio libaio libaio-dev sysstat"
>>>>>> +
>>>>>> +FILES_${PN} = "/opt/S-suite/"
>>>>>> +
>>>>>> +# added to INSANE_SKIP since s-suite have an runtime
>>>>>> +# dependency (RDEPENDS) on libaio-dev.
>>>>>> +INSANE_SKIP_${PN} += "dev-deps"
>>>>>> 
>>>>> 
>>>>> Thanks for the submission but from:
>>>>> 
>>>>>   https://github.com/Algodev-github/S
>>>>> 
>>>>>   "These benchmarks have been written just for internal use,
>>>>>    and are more a yard than a well-finished work."
>>>>> 
>>>>> 
>>>>> That doesn't lead to a lot of confidence that these suite will
>>>>> be maintained for years.
>> Gosh.  I put that disclaimer in the README when I first wrote it more
>> than 10 years ago.  After then, thousands of changes have been made by
>> me and many other contributors.  Unfortunately, I put the suite on
>> GitHub only recently.  But as you can see from the log, there have
>> been 448 commits in (less than) the last five months.
>> In addition, the S suite is now used in a new Phoronix benchmark and
>> in a new mmtests benchmark.
> 
> Ah, good to know.
> 
>> So, believe me, the S suite ATM is definitely in good shape, and seems
>> to be here to stay.
>> I'll remove that line, right after finishing a non-trivial new commit
>> I'm working on.
>>>>> What's the value to meta-oe users to add
>>>>> this recipe compared to something that has been around for years
>>>>> if not decades such as Bonnie++:
>>>>>   https://layers.openembedded.org/layerindex/recipe/864/
>>>>> 
>>>> 
>> The added value is that bonnie++ does not perform *any* of the benchmarks in the S suite, apart from that on throughput. I have made the S suite, many years ago, because I needed to run benchmarks that no suite provided. Here are some examples:
>> - start-up times of real applications under real background workloads
>> - playback quality (drop rate) of video and audio under real background workloads
>> - speed of code-development tasks (make, git checkout, git merge, git
>>  grep) under real background workloads, plus measurement of system
>>  responsiveness while one of these dev tasks is executed
>> - minimum per-client bandwidth guaranteed to a set of clients doing
>>  any possible type of I/O
>> - maximum per-client latency guaranteed to a set of clients doing any
>>  possible type of I/O
>> For any doubt, here I am.
> 
> Thanks for the background Paolo.
> 
> Perhaps when you get to the clean-up work, you will simplify the
> README based on your list above, move the details to another file
> and mention it at the end of the README.
> 

Just done that too, thank you very much for this suggestion.

Paolo

> I withdraw my objection; this looks like a very useful
> set of benchmarks. Long live Algodev-github/S. ;-)
> 
> ../Randy
> 
>> Thanks,
>> Paolo
>>>> how I read this is that they have not made proper installation
>>>> targets and its dependencies or letting user know of the dependencies
>>>> which actually is not a problem with OE since both
>>>> of these would be taken care of in the recipe with
>>>> do_install and DEPENDS
>>> 
>>> Do you mean DEPENDS or RDEPENDS?
>>> 
>>> Cheers,
>>> Anders
> 
> 
> -- 
> # Randy MacLeod
> # Wind River Linux




More information about the Openembedded-devel mailing list