[oe] [PATCH][meta-oe] numctl: add recipe

Rongqing Li rongqing.li at windriver.com
Fri Jul 18 08:42:06 UTC 2014



On 07/18/2014 04:08 PM, Martin Jansa wrote:
> On Fri, Jul 18, 2014 at 03:41:15PM +0800, rongqing.li at windriver.com wrote:
>> From: Roy Li <rongqing.li at windriver.com>
>>
>> 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.
>
> Does it need separate .inc file? With one version per recipe we're not
> using .inc very much.
>
> Also please move files from "files" to "numactl" for faster lookup.
> '

OK, I will change it

-Roy

>>
>> Signed-off-by: Roy Li <rongqing.li at windriver.com>
>> ---
>>   .../numactl/files/Fix-the-test-output-format.patch |   59 ++++++++++++++++++++
>>   meta-oe/recipes-support/numactl/files/Makefile     |    7 +++
>>   .../numactl/files/fix-null-pointer.patch           |   28 ++++++++++
>>   meta-oe/recipes-support/numactl/files/run-ptest    |    9 +++
>>   meta-oe/recipes-support/numactl/numactl.inc        |   40 +++++++++++++
>>   meta-oe/recipes-support/numactl/numactl_2.0.9.bb   |    6 ++
>>   6 files changed, 149 insertions(+)
>>   create mode 100644 meta-oe/recipes-support/numactl/files/Fix-the-test-output-format.patch
>>   create mode 100644 meta-oe/recipes-support/numactl/files/Makefile
>>   create mode 100644 meta-oe/recipes-support/numactl/files/fix-null-pointer.patch
>>   create mode 100755 meta-oe/recipes-support/numactl/files/run-ptest
>>   create mode 100644 meta-oe/recipes-support/numactl/numactl.inc
>>   create mode 100644 meta-oe/recipes-support/numactl/numactl_2.0.9.bb
>>
>> diff --git a/meta-oe/recipes-support/numactl/files/Fix-the-test-output-format.patch b/meta-oe/recipes-support/numactl/files/Fix-the-test-output-format.patch
>> new file mode 100644
>> index 0000000..8c309a4
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/files/Fix-the-test-output-format.patch
>> @@ -0,0 +1,59 @@
>> +[PATCH] Fix the test output format
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Roy Li <rongqing.li at windriver.com>
>> +---
>> + test/regress  |    6 +++---
>> + test/regress2 |    9 ++++-----
>> + 2 files changed, 7 insertions(+), 8 deletions(-)
>> +
>> +diff --git a/test/regress b/test/regress
>> +index 05eff5b..10d72f7 100755
>> +--- a/test/regress
>> ++++ b/test/regress
>> +@@ -73,6 +73,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 "FAIL: numa regress"
>> + 	    exit 1
>> + 	fi
>> + }
>> +@@ -206,10 +207,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 6a254fa..9c97943 100755
>> +--- a/test/regress2
>> ++++ b/test/regress2
>> +@@ -6,12 +6,11 @@ VALGRIND=${VALGRIND:-}
>> + export LD_LIBRARY_PATH=`pwd`/..
>> +
>> + T() {
>> +-       echo "$@"
>> +-       if ! $VALGRIND "$@" ;  then
>> +-	  echo	$1 FAILED!!!!
>> +-	  exit 1
>> ++       if ! $VALGRIND "$@" 2>&1 1>/dev/null;  then
>> ++	  echo	"FAIL: $1"
>> ++       else
>> ++	  echo "PASS: $1"
>> +        fi
>> +-       echo
>> + }
>> +
>> + # various tests
>> +--
>> +1.7.10.4
>> +
>> diff --git a/meta-oe/recipes-support/numactl/files/Makefile b/meta-oe/recipes-support/numactl/files/Makefile
>> new file mode 100644
>> index 0000000..6489f83
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/files/Makefile
>> @@ -0,0 +1,7 @@
>> +.PHONY: regress1 regress2
>> +
>> +regress1:
>> +	cd test ; ./regress
>> +
>> +regress2:
>> +	cd test ; ./regress2
>> diff --git a/meta-oe/recipes-support/numactl/files/fix-null-pointer.patch b/meta-oe/recipes-support/numactl/files/fix-null-pointer.patch
>> new file mode 100644
>> index 0000000..6a29606
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/files/fix-null-pointer.patch
>> @@ -0,0 +1,28 @@
>> +[PATCH] return 0 if distance_table is NULL
>> +
>> +Upstream-Status: Pending
>> +
>> +read_distance_table() maybe return 0, but distance_table is not set,
>> +if distance_table is used, and will lead to SEGFAULT
>> +
>> +Signed-off-by: Roy Li <rongqing.li at windriver.com>
>> +---
>> + distance.c |    2 ++
>> + 1 file changed, 2 insertions(+)
>> +
>> +diff --git a/distance.c b/distance.c
>> +index 4a26972..c6ca021 100755
>> +--- a/distance.c
>> ++++ b/distance.c
>> +@@ -113,6 +113,8 @@ int numa_distance(int a, int b)
>> + 		int err = read_distance_table();
>> + 		if (err < 0)
>> + 			return 0;
>> ++		if (!distance_table)
>> ++			return 0;
>> + 	}
>> + 	return distance_table[a * distance_numnodes + b];
>> + }
>> +--
>> +1.7.10.4
>> +
>> diff --git a/meta-oe/recipes-support/numactl/files/run-ptest b/meta-oe/recipes-support/numactl/files/run-ptest
>> new file mode 100755
>> index 0000000..6f67ec2
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/files/run-ptest
>> @@ -0,0 +1,9 @@
>> +#!/bin/sh
>> +make regress1
>> +make regress2
>> +if  numademo -t -e 10M; then
>> +	echo "PASS: numademo"
>> +else
>> +	echo "FAIL: numademo"
>> +fi
>> +
>> diff --git a/meta-oe/recipes-support/numactl/numactl.inc b/meta-oe/recipes-support/numactl/numactl.inc
>> new file mode 100644
>> index 0000000..21a8123
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/numactl.inc
>> @@ -0,0 +1,40 @@
>> +SUMMARY = "Development package for building Applications that use numa"
>> +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 & LGPL-2.1"
>> +SECTION = "apps"
>> +RDEPENDS_${PN} = "perl"
>> +
>> +inherit autotools-brokensep ptest
>> +
>> +SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \
>> +	   file://fix-null-pointer.patch \
>> +	   file://Fix-the-test-output-format.patch \
>> +	   file://Makefile \
>> +	   file://run-ptest \
>> +          "
>> +
>> +# ARM does not currently support NUMA
>> +COMPATIBLE_HOST = "^((?!arm).*)$"
>> +
>> +do_install() {
>> +        oe_runmake DESTDIR=${D} prefix=${D}/usr libdir=${D}/${libdir} install
>> +	#remove the empty man2 directory
>> +	rm -r ${D}${mandir}/man2
>> +}
>> +
>> +do_install_ptest() {
>> +	#install tests binaries
>> +        local test_binaries="checkaffinity checktopology distance	\
>> +		ftok mbind_mig_pages migrate_pages move_pages mynode	\
>> +		nodemap pagesize prefered printcpu randmap realloc_test	\
>> +		regress regress2 runltp shmtest tbitmap tshared"
>> +
>> +	[ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test
>> +	for i in $test_binaries; do
>> +		install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test
>> +	done
>> +	install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/
>> +}
>> +
>> diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.9.bb b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb
>> new file mode 100644
>> index 0000000..1a103cd
>> --- /dev/null
>> +++ b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb
>> @@ -0,0 +1,6 @@
>> +require ${PN}.inc
>> +
>> +LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9"
>> +SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c"
>> +SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c"
>> +
>> --
>> 1.7.10.4
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>
>

-- 
Best Reagrds,
Roy | RongQing Li



More information about the Openembedded-devel mailing list