diff --git a/.github/workflows/benchmark_asterinas.yml b/.github/workflows/benchmark_asterinas.yml index 290f830c7..763f3547b 100644 --- a/.github/workflows/benchmark_asterinas.yml +++ b/.github/workflows/benchmark_asterinas.yml @@ -45,6 +45,8 @@ jobs: - lmbench-fs-create-delete-files-10k # Mmap-related benchmarks - lmbench-pagefault + # Semaphore benchmark + - lmbench-semaphore fail-fast: false timeout-minutes: 60 container: diff --git a/test/benchmark/lmbench-semaphore/config.json b/test/benchmark/lmbench-semaphore/config.json new file mode 100644 index 000000000..37796d3fe --- /dev/null +++ b/test/benchmark/lmbench-semaphore/config.json @@ -0,0 +1,7 @@ +{ + "alert_threshold": "125%", + "alert_tool": "customSmallerIsBetter", + "search_pattern": "Semaphore latency:", + "result_index": "3", + "description": "The latency of semaphore on a single processor." +} diff --git a/test/benchmark/lmbench-semaphore/result_template.json b/test/benchmark/lmbench-semaphore/result_template.json new file mode 100644 index 000000000..a988c4011 --- /dev/null +++ b/test/benchmark/lmbench-semaphore/result_template.json @@ -0,0 +1,14 @@ +[ + { + "name": "Average semaphore latency on Linux", + "unit": "µs", + "value": 0, + "extra": "linux_avg" + }, + { + "name": "Average semaphore latency on Asterinas", + "unit": "µs", + "value": 0, + "extra": "aster_avg" + } +] \ No newline at end of file diff --git a/test/benchmark/lmbench-semaphore/run.sh b/test/benchmark/lmbench-semaphore/run.sh new file mode 100644 index 000000000..0b2e4f75f --- /dev/null +++ b/test/benchmark/lmbench-semaphore/run.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +echo "*** Running the LMbench semaphore latency test ***" + +/benchmark/bin/lmbench/lat_sem -P 1 \ No newline at end of file