hackbench: add Linux scheduler benchmark recipe

Add a recipe for hackbench, a Linux scheduler benchmark used
to measure scheduling and inter-process communication
performance under various workloads.

The recipe builds and installs the hackbench executable with
NUMA support enabled for use in performance evaluation and
regression testing.

Signed-off-by: Vaibhav Jindal <vaibjind@qti.qualcomm.com>
Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Vaibhav Jindal
2026-08-03 14:36:57 +05:30
committed by Khem Raj
parent 322cac79ac
commit 1e0d296bda
2 changed files with 25 additions and 0 deletions
@@ -0,0 +1,24 @@
SUMMARY = "Linux kernel scheduler benchmark"
DESCRIPTION = "Hackbench is a benchmark for measuring Linux kernel scheduler performance. It creates groups of processes or threads that communicate via pipes or sockets and measures the time taken to complete the communication."
HOMEPAGE = "https://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git;protocol=https;branch=main"
SRCREV = "d232f528fd131b7d840e79a3756d1dbdaa9b1b60"
DEPENDS = "numactl"
# Filter out unsupported compiler flags
CFLAGS:remove = "-fcanon-prefix-map"
do_configure[noexec] = "1"
do_compile() {
oe_runmake NUMA=1 CC="${CC}" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" hackbench
}
do_install() {
install -d ${D}${bindir}
install -m 0755 ${B}/hackbench ${D}${bindir}/hackbench
}
@@ -58,6 +58,7 @@ RDEPENDS:packagegroup-meta-oe-benchmarks = "\
dhrystone \
fio \
${@bb.utils.contains("DISTRO_FEATURES", "x11 wayland opengl", "glmark2", "", d)} \
hackbench \
iozone3 \
iperf2 \
iperf3 \