| metadata: |
| format: Lava-Test Test Definition 1.0 |
| name: hackbench |
| description: "Hackbench is both a benchmark and a stress test for the Linux |
| kernel scheduler. It's main job is to create a specified |
| number of pairs of schedulable entities (either threads or |
| traditional processes) which communicate via either sockets or |
| pipes and time how long it takes for each pair to send data |
| back and forth." |
| maintainer: |
| - milosz.wasilewski@linaro.org |
| - chase.qi@linaro.org |
| os: |
| - debian |
| - ubuntu |
| - fedora |
| - centos |
| - openembedded |
| scope: |
| - performance |
| - virtualization |
| - preempt-rt |
| devices: |
| - hi6220-hikey |
| - apq8016-sbc |
| - mustang |
| - moonshot |
| - thunderX |
| - d03 |
| - d05 |
| |
| params: |
| ITERATION: "1000" |
| TARGET: "host" |
| # Sets the amount of data to send in each message |
| DATASIZE: "100" |
| # How many messages each sender/receiver pair should send |
| LOOPS: "100" |
| # Defines how many groups of senders and receivers should be started |
| GRPS: "10" |
| # Defines how many file descriptors each child should use. Note that the |
| # effective number will be twice the amount you set here, as the sender |
| # and receiver children will each open the given amount of file descriptors. |
| FDS: "20" |
| # Sends the data via a pipe instead of the socket (default) |
| PIPE: "false" |
| # Each sender/receiver child will be a POSIX thread of the parent. |
| # The default is to run in process mode (-P) |
| THREADS: "false" |
| |
| run: |
| steps: |
| - cd ./automated/linux/hackbench/ |
| - "./hackbench.sh -i ${ITERATION} -t ${TARGET} -s ${DATASIZE} |
| -l ${LOOPS} -g ${GRPS} -f ${FDS} -p ${PIPE} -T ${THREADS}" |
| - ../../utils/send-to-lava.sh ./output/result.txt |