diff --git a/.github/workflows/benchmark_asterinas.yml b/.github/workflows/benchmark_asterinas.yml index db5445535..e954d11ca 100644 --- a/.github/workflows/benchmark_asterinas.yml +++ b/.github/workflows/benchmark_asterinas.yml @@ -54,6 +54,8 @@ jobs: - lmbench-mmap-latency # Semaphore benchmark - lmbench-semaphore + # Network-related benchmark + - lmbench-select-tcp fail-fast: false timeout-minutes: 60 container: diff --git a/test/benchmark/lmbench-select-tcp/config.json b/test/benchmark/lmbench-select-tcp/config.json new file mode 100644 index 000000000..5eb13ca95 --- /dev/null +++ b/test/benchmark/lmbench-select-tcp/config.json @@ -0,0 +1,7 @@ +{ + "alert_threshold": "125%", + "alert_tool": "customSmallerIsBetter", + "search_pattern": "Select on 200 tcp fd's:", + "result_index": "6", + "description": "The latency of select TCP on a single processor." +} diff --git a/test/benchmark/lmbench-select-tcp/result_template.json b/test/benchmark/lmbench-select-tcp/result_template.json new file mode 100644 index 000000000..29d6bff7e --- /dev/null +++ b/test/benchmark/lmbench-select-tcp/result_template.json @@ -0,0 +1,14 @@ +[ + { + "name": "Average select TCP latency on Linux", + "unit": "µs", + "value": 0, + "extra": "linux_avg" + }, + { + "name": "Average select TCP latency on Asterinas", + "unit": "µs", + "value": 0, + "extra": "aster_avg" + } +] \ No newline at end of file diff --git a/test/benchmark/lmbench-select-tcp/run.sh b/test/benchmark/lmbench-select-tcp/run.sh new file mode 100644 index 000000000..b8d058614 --- /dev/null +++ b/test/benchmark/lmbench-select-tcp/run.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +# SPDX-License-Identifier: MPL-2.0 + +set -e + +echo "*** Running lmbench select TCP latency test ***" + +/benchmark/bin/lmbench/lat_select -P 1 tcp \ No newline at end of file