Initial commit

This commit is contained in:
Your Name
2026-04-23 17:07:55 +08:00
commit b7e39e063b
16725 changed files with 1625565 additions and 0 deletions
@@ -0,0 +1,27 @@
From 61f910f5d12d6f6a66223b5af6d74e30ace3a2e1 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 15 Dec 2022 12:10:37 -0800
Subject: [PATCH] configure: Check for largefile support
This helps in using 64bit versions of off_t related functions
Upstream-Status: Backport [https://github.com/numactl/numactl/pull/159]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure.ac b/configure.ac
index 8510fc5..d74bc6e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -14,6 +14,9 @@ LT_INIT
AC_PROG_CC
+# Check for enabling LFS support
+AC_SYS_LARGEFILE
+
# Override CFLAGS so that we can specify custom CFLAGS for numademo.
AX_AM_OVERRIDE_VAR([CFLAGS])
@@ -0,0 +1,32 @@
rename test target as run-test
Upstream-Status: Pending
test target not only compile the test files, but also run them, which is
not suitable for cross-compile environment, so rename it as run-test.
and define test target to compile the test files.
Signed-off-by: Roy Li <rongqing.li@windriver.com>
---
Makefile.am | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index b6db339..de176c4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -124,7 +124,9 @@ regress2: $(check_PROGRAMS)
test_numademo: numademo
./numademo -t -e 10M
-test: all $(check_PROGRAMS) regress1 regress2 test_numademo
+test: all $(check_PROGRAMS)
+
+run-test: all $(check_PROGRAMS) regress1 regress2 test_numademo
TESTS_ENVIRONMENT = builddir='$(builddir)'; export builddir;
--
1.9.1
@@ -0,0 +1,64 @@
From 8a08d3583d77bebeb1763fb9b378899201ce5afa Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 15 Dec 2022 12:11:13 -0800
Subject: [PATCH] shm.c: Replace stat64/fstat64/ftruncate64mmap64 with normal functions
These functions were needed when _FILE_OFFSET_BITS was not 64, using
AC_SYS_LARGEFILE will detect it correctly and make the normal variants
of these functions behave same as their *64 counterparts.
Upstream-Status: Backport [https://github.com/numactl/numactl/pull/159]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
shm.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/shm.c b/shm.c
index 20537d9..5d0d1ab 100644
--- a/shm.c
+++ b/shm.c
@@ -24,8 +24,8 @@
#include <sys/mman.h>
#include <sys/ipc.h>
#include <sys/shm.h>
-#include <sys/fcntl.h>
#include <sys/stat.h>
+#include <fcntl.h>
#include <stdarg.h>
#include <errno.h>
#include <unistd.h>
@@ -135,7 +135,7 @@ void attach_sysvshm(char *name, char *opt)
/* Attach a shared memory file. */
void attach_shared(char *name, char *opt)
{
- struct stat64 st;
+ struct stat st;
shmfd = open(name, O_RDWR);
if (shmfd < 0) {
@@ -146,14 +146,14 @@ void attach_shared(char *name, char *opt)
if (shmfd < 0)
nerror("cannot create file %s", name);
}
- if (fstat64(shmfd, &st) < 0)
+ if (fstat(shmfd, &st) < 0)
err("shm stat");
/* the file size must be larger than mmap shmlen + shmoffset, otherwise SIGBUS
* will be caused when we access memory, because mmaped memory is no longer in
* the range of the file laster.
*/
if ((shmlen + shmoffset) > st.st_size) {
- if (ftruncate64(shmfd, shmlen + shmoffset) < 0) {
+ if (ftruncate(shmfd, shmlen + shmoffset) < 0) {
/* XXX: we could do it by hand, but it would it
would be impossible to apply policy then.
need to fix that in the kernel. */
@@ -168,7 +168,7 @@ void attach_shared(char *name, char *opt)
/* RED-PEN For shmlen > address space may need to map in pieces.
Left for some poor 32bit soul. */
- shmptr = mmap64(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset);
+ shmptr = mmap(NULL, shmlen, PROT_READ | PROT_WRITE, MAP_SHARED, shmfd, shmoffset);
if (shmptr == (char*)-1)
err("shm mmap");
}
@@ -0,0 +1,65 @@
From 59fd750a84bbe5874dec936d2bee9ef11a1b6505 Mon Sep 17 00:00:00 2001
From: Li xin <lixin.fnst@cn.fujitsu.com>
Date: Tue, 21 Jul 2015 02:01:22 +0900
Subject: [PATCH] Fix the test output format
Upstream-Status: Pending
Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
---
test/regress | 6 +++---
test/regress2 | 11 +++++------
2 files changed, 8 insertions(+), 9 deletions(-)
diff --git a/test/regress b/test/regress
index 2ce1705..d086a47 100755
--- a/test/regress
+++ b/test/regress
@@ -74,6 +74,7 @@ probe_hardware()
if [ $numnodes -lt 2 ] ; then
echo "need at least two nodes with at least $NEEDPAGES each of"
echo "free memory for mempolicy regression tests"
+ echo "SKIP: numa regress"
exit 77 # Skip test
fi
}
@@ -207,10 +208,9 @@ main()
rm A B
if [ "$EXIT" = 0 ] ; then
- echo '========SUCCESS'
+ echo 'PASS: numactl regress'
else
- echo '========FAILURE'
- exit 1
+ echo 'FAIL: numactl regress'
fi
}
diff --git a/test/regress2 b/test/regress2
index aa6ea41..450c510 100755
--- a/test/regress2
+++ b/test/regress2
@@ -9,12 +9,11 @@ testdir=`dirname "$0"`
export PATH=${builddir}:$PATH
T() {
- echo "$@"
- if ! $VALGRIND "$@" ; then
- echo $1 FAILED!!!!
- exit 1
- fi
- echo
+ if ! $VALGRIND "$@" 2>&1 1>/dev/null; then
+ echo "FAIL: $1"
+ else
+ echo "PASS: $1"
+ fi
}
# still broken
--
1.8.4.2
@@ -0,0 +1,7 @@
.PHONY: regress1 regress2
regress1:
cd test ; ./regress
regress2:
cd test ; ./regress2
+27
View File
@@ -0,0 +1,27 @@
#!/bin/sh
# If there is numa support, run the tests. Otherwise skip all the tests.
# Ideally the skipping would happen by the upstream tests.
if ! numactl -s | grep -q "No NUMA support available on this system."; then
make regress1
make regress2
if numademo -t -e 10M; then
echo "PASS: numademo"
else
if [ "$?" = 77 ] ; then
echo "SKIP: numademo"
else
echo "FAIL: numademo"
fi
fi
else
echo "SKIP: ./../test/bind_range"
echo "SKIP: ./../test/checkaffinity"
echo "SKIP: ./../test/checktopology"
echo "SKIP: ./../test/distance"
echo "SKIP: ./../test/nodemap"
echo "SKIP: ./../test/tbitmap"
echo "SKIP: numactl_regress"
echo "SKIP: numademo"
fi
@@ -0,0 +1,61 @@
SUMMARY = "Development package for building Applications that use numa"
HOMEPAGE = "http://oss.sgi.com/projects/libnuma/"
DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
to run other programs with a specific NUMA policy and a libnuma to do \
allocations with NUMA policy in applications."
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
SECTION = "apps"
inherit autotools-brokensep ptest
LIC_FILES_CHKSUM = "file://README.md;beginline=19;endline=32;md5=9f34c3af4ed6f3f5df0da5f3c0835a43"
SRCREV = "10285f1a1bad49306839b2c463936460b604e3ea"
PV = "2.0.16"
SRC_URI = "git://github.com/numactl/numactl;branch=master;protocol=https \
file://Fix-the-test-output-format.patch \
file://Makefile \
file://run-ptest \
file://0001-define-run-test-target.patch \
file://0001-configure-Check-for-largefile-support.patch \
file://0002-shm.c-Replace-stat64-fstat64-ftruncate64mmap64-with-.patch \
"
S = "${WORKDIR}/git"
LDFLAGS:append:riscv64 = " -latomic"
LDFLAGS:append:riscv32 = " -latomic"
do_install() {
oe_runmake DESTDIR=${D} prefix=${D}/usr install
#remove the empty man2 directory
rm -r ${D}${mandir}/man2
}
do_compile_ptest() {
oe_runmake test
}
do_install_ptest() {
#install tests binaries
local test_binaries="distance ftok mbind_mig_pages migrate_pages move_pages \
mynode nodemap node-parse pagesize prefered randmap realloc_test \
tbitmap tshared"
[ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
for i in $test_binaries; do
install -m 0755 ${B}/test/.libs/$i ${D}${PTEST_PATH}/test
done
local test_scripts="checktopology checkaffinity printcpu regress regress2 \
shmtest runltp bind_range"
for i in $test_scripts; do
install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
done
install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
install -m 0755 ${B}/.libs/numactl ${D}${PTEST_PATH}/
}
RDEPENDS:${PN}-ptest = "bash"