Initial commit
This commit is contained in:
+27
@@ -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
|
||||
|
||||
+64
@@ -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
@@ -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"
|
||||
Reference in New Issue
Block a user