summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2010-08-04 06:55:44 +0000
committerRobin H. Johnson <robbat2@gentoo.org>2010-08-04 06:55:44 +0000
commita41949a1468ad86b7b9197d4c952b677af0c962e (patch)
treebb0b831964a42be48f5966224a75c3d9e3a8e341 /sys-libs/libhugetlbfs
parentRemoved old (diff)
downloadhistorical-a41949a1468ad86b7b9197d4c952b677af0c962e.tar.gz
historical-a41949a1468ad86b7b9197d4c952b677af0c962e.tar.bz2
historical-a41949a1468ad86b7b9197d4c952b677af0c962e.zip
Bug #330491: version bump. Tune patch to apply to both versions.
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64
Diffstat (limited to 'sys-libs/libhugetlbfs')
-rw-r--r--sys-libs/libhugetlbfs/ChangeLog10
-rw-r--r--sys-libs/libhugetlbfs/Manifest16
-rw-r--r--sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch18
-rw-r--r--sys-libs/libhugetlbfs/libhugetlbfs-2.9.ebuild151
4 files changed, 163 insertions, 32 deletions
diff --git a/sys-libs/libhugetlbfs/ChangeLog b/sys-libs/libhugetlbfs/ChangeLog
index dd51d8435301..a89c06e9f00c 100644
--- a/sys-libs/libhugetlbfs/ChangeLog
+++ b/sys-libs/libhugetlbfs/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-libs/libhugetlbfs
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog,v 1.4 2009/11/04 04:08:48 robbat2 Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/ChangeLog,v 1.5 2010/08/04 06:55:43 robbat2 Exp $
+
+*libhugetlbfs-2.9 (04 Aug 2010)
+
+ 04 Aug 2010; Robin H. Johnson <robbat2@gentoo.org>
+ files/libhugetlbfs-2.6-fixup-testsuite.patch, +libhugetlbfs-2.9.ebuild:
+ Bug #330491: version bump. Tune patch to apply to both versions.
04 Nov 2009; Robin H. Johnson <robbat2@gentoo.org>
libhugetlbfs-2.6.ebuild, +files/libhugetlbfs-2.6-fixup-testsuite.patch:
diff --git a/sys-libs/libhugetlbfs/Manifest b/sys-libs/libhugetlbfs/Manifest
index 442432e807a8..201ac9b61980 100644
--- a/sys-libs/libhugetlbfs/Manifest
+++ b/sys-libs/libhugetlbfs/Manifest
@@ -1,16 +1,8 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-AUX libhugetlbfs-2.6-fixup-testsuite.patch 2037 RMD160 806a8eac01e1036c0afcdb1b4e6ebc3a12649d49 SHA1 af9363416844c7d2020b4c255346538d3d2fadc6 SHA256 9538deef3733c483cfcb78beb2e690a33096f951407cf4d987ef94ed72c99877
+AUX libhugetlbfs-2.6-fixup-testsuite.patch 1231 RMD160 af0851949f0f90a668cf0312d6776cbeb9468643 SHA1 f3ff80fb584da46d0572dce303caab3823280fcd SHA256 60d0e4a9a3a99e7ceab04f1479e6893403d43cb50bb740e8f2f632b05a2ec523
AUX libhugetlbfs-2.6-noexec-stack.patch 1497 RMD160 1e776f4fda19798084dd5bcc6872a15fd543b1d5 SHA1 cff4e5a2dbabe1b3fde7c73cb663ae87ef70362d SHA256 24de0b668c25568b70c705dbd3e1533c6358ad774ee96720b963ab7cd5226f2f
DIST libhugetlbfs-2.6.tar.gz 148202 RMD160 541d98c6c5828ec57dc374657596ea1cac8b141e SHA1 eec97b9ae34bce559f7eaf977eeb215359cca141 SHA256 6195fdecee0b370d8a82c76a6c2a5b9892e547de319d8a7f52138a796505e890
+DIST libhugetlbfs-2.9.tar.gz 167149 RMD160 1329327d9a41aa0c09315809f7e683a4dfe2c5e2 SHA1 84ccceda582b01f4f9fd857e4d3aee003f593236 SHA256 8f2adfb85ef5cf83b6024f4249514751901cfea0bb663b7812eac07cae8e8623
EBUILD libhugetlbfs-2.6.ebuild 3882 RMD160 4b2778b5f41099cdb5caed3d916903f9c1486bfa SHA1 09047d9b220caed1d147984170d058b741f3c908 SHA256 e0778c70402b5b687d19f60dc1f8416478850293cb066d3521ff046ec2b61a27
-MISC ChangeLog 889 RMD160 e6980b88eb7d3b2aeb2ad5d3afc5c057e13c9d7e SHA1 88316f3cf53fefbb26cf2fcf71181d1c63b4255c SHA256 e50a3925872bd019853132e756b6befdcf268aa3ab9e36d57efd3cd23a782f6c
+EBUILD libhugetlbfs-2.9.ebuild 3882 RMD160 88967bc7e4ae226ed0823a50d2fd1c2c62141032 SHA1 236c0d1b7f942a2cf093d1aba86b33cf0e768854 SHA256 c057f7403e6ea314cb8ca09cf8a65010ff8d328ab05f396515b7f0571a3f591e
+MISC ChangeLog 1117 RMD160 3fb1aaec1de0c21b1543898761f12850fadaf082 SHA1 28da86aa50bc400f812a4b488a71a772c2a10696 SHA256 f8a0ff2fb1d75a5584a52af28c7f20dbe31685ef47faf9ff492323cedbea4bb5
MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.15 (GNU/Linux)
-
-iF4EAREIAAYFAkxYzBEACgkQTwhj9JtAlp42PgD/W79TPJUw5LtoMr2higAc4frf
-0htvSFW46e1/EOeAAr8A/0yUTvUuoSiPBVJRBaBcrqQ+YvHNDNqm8CQHtWhVciwu
-=1in/
------END PGP SIGNATURE-----
diff --git a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch
index de8fed17c475..12548a884a6f 100644
--- a/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch
+++ b/sys-libs/libhugetlbfs/files/libhugetlbfs-2.6-fixup-testsuite.patch
@@ -29,21 +29,3 @@ diff -Nuar --exclude '*.S' --exclude Makefile libhugetlbfs-2.6.orig/tests/run_te
# Accounting bug tests
# reset free hpages because sharing will have held some
-@@ -555,7 +561,7 @@
- """
- Run the set of stress tests.
- """
-- iterations = 10 # Number of iterations for looping tests
-+ iterations = 10 # Number of iterations for looping tests
-
- # Don't update NRPAGES every time like above because we want to catch the
- # failures that happen when the kernel doesn't release all of the huge pages
-@@ -570,7 +576,7 @@
- (rc, tot_pages) = total_hpages()
- (rc, size) = hpage_size()
- sysctls = setup_shm_sysctl(tot_pages * size)
-- threads = 10 # Number of threads for shm-fork
-+ threads = 10 # Number of threads for shm-fork
- # Run shm-fork once using half available hugepages, then once using all
- # This is to catch off-by-ones or races in the kernel allocated that
- # can make allocating all hugepages a problem
diff --git a/sys-libs/libhugetlbfs/libhugetlbfs-2.9.ebuild b/sys-libs/libhugetlbfs/libhugetlbfs-2.9.ebuild
new file mode 100644
index 000000000000..4404446674ae
--- /dev/null
+++ b/sys-libs/libhugetlbfs/libhugetlbfs-2.9.ebuild
@@ -0,0 +1,151 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-libs/libhugetlbfs/libhugetlbfs-2.9.ebuild,v 1.1 2010/08/04 06:55:43 robbat2 Exp $
+
+EAPI=2
+inherit eutils multilib toolchain-funcs
+
+DESCRIPTION="easy hugepage access"
+HOMEPAGE="http://libhugetlbfs.ozlabs.org/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc64 ~x86"
+IUSE=""
+
+DEPEND=""
+
+src_prepare() {
+ epatch "${FILESDIR}"/${PN}-2.6-noexec-stack.patch
+ epatch "${FILESDIR}"/${PN}-2.6-fixup-testsuite.patch
+ sed -i \
+ -e '/^PREFIX/s:/local::' \
+ -e '1iBUILDTYPE = NATIVEONLY' \
+ -e '1iV = 1' \
+ -e "/^LIB\(32\)/s:=.*:= $(get_libdir):" \
+ -e '/^CC\(32\|64\)/s:=.*:= $(CC):' \
+ Makefile
+ if [ "$(get_libdir)" == "lib64" ]; then
+ sed -i \
+ -e "/^LIB\(32\)/s:=.*:= lib32:" \
+ Makefile
+ fi
+}
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ tc-export AR CC
+ emake libs tools || die
+}
+
+src_install() {
+ emake install DESTDIR="${D}" || die
+ dodoc HOWTO NEWS README
+ rm "${D}"/usr/bin/oprofile*
+}
+
+src_test_alloc_one() {
+ hugeadm="$1"
+ sign="$2"
+ pagesize="$3"
+ pagecount="$4"
+ ${hugeadm} \
+ --pool-pages-max ${pagesize}:${sign}${pagecount} \
+ && \
+ ${hugeadm} \
+ --pool-pages-min ${pagesize}:${sign}${pagecount}
+ return $?
+}
+
+# die is NOT allowed in this src_test block after the marked point, so that we
+# can clean up memory allocation. You'll leak at LEAST 64MiB per run otherwise.
+src_test() {
+ [[ $UID -eq 0 ]] || die "Need FEATURES=-userpriv to run this testsuite"
+ einfo "Building testsuite"
+ emake -j1 tests || die "Failed to build tests"
+
+ hugeadm='obj/hugeadm'
+ allocated=''
+ rc=0
+ # the testcases need 64MiB per pagesize.
+ MIN_HUGEPAGE_RAM=$((64*1024*1024))
+
+ einfo "Planning allocation"
+ PAGESIZES="$(${hugeadm} --page-sizes-all)"
+
+ # Need to do this before we can create the mountpoints.
+ for pagesize in ${PAGESIZES} ; do
+ # The kernel depends on the location :-(
+ mkdir -p /var/lib/hugetlbfs/pagesize-${pagesize}
+ addwrite /var/lib/hugetlbfs/pagesize-${pagesize}
+ done
+ addwrite /proc/sys/vm/
+ addwrite /proc/sys/kernel/shmall
+ addwrite /proc/sys/kernel/shmmax
+ addwrite /proc/sys/kernel/shmmni
+
+ einfo "Checking HugeTLB mountpoints"
+ ${hugeadm} --create-mounts || die "Failed to set up hugetlb mountpoints."
+
+ # -----------------------------------------------------
+ # --------- die is unsafe after this point. -----------
+ # -----------------------------------------------------
+
+ einfo "Starting allocation"
+ for pagesize in ${PAGESIZES} ; do
+ pagecount=$((${MIN_HUGEPAGE_RAM}/${pagesize}))
+ einfo " ${pagecount} @ ${pagesize}"
+ addwrite /var/lib/hugetlbfs/pagesize-${pagesize}
+ src_test_alloc_one "$hugeadm" "+" "${pagesize}" "${pagecount}"
+ rc=$?
+ if [[ $rc -eq 0 ]]; then
+ allocated="${allocated} ${pagesize}:${pagecount}"
+ else
+ eerror "Failed to add ${pagecount} pages of size ${pagesize}"
+ fi
+ done
+
+ einfo "Allocation status"
+ ${hugeadm} --pool-list
+
+ if [[ -n "${allocated}" ]]; then
+ # All our allocations worked, so time to run.
+ einfo "Starting tests"
+ cd "${S}"/tests
+ TESTOPTS="-t func"
+ case $ARCH in
+ amd64|ppc64)
+ TESTOPTS="${TESTOPTS} -b 64"
+ ;;
+ x86)
+ TESTOPTS="${TESTOPTS} -b 32"
+ ;;
+ esac
+ # This needs a bit of work to give a nice exit code still.
+ ./run_tests.py ${TESTOPTS}
+ rc=$?
+ else
+ eerror "Failed to make HugeTLB allocations."
+ rc=1
+ fi
+
+ einfo "Cleaning up memory"
+ cd "${S}"
+ # Cleanup memory allocation
+ for alloc in ${allocated} ; do
+ pagesize="${alloc/:*}"
+ pagecount="${alloc/*:}"
+ einfo " ${pagecount} @ ${pagesize}"
+ src_test_alloc_one "$hugeadm" "-" "${pagesize}" "${pagecount}"
+ done
+
+ # ---------------------------------------------------------
+ # --------- die is safe again after this point. -----------
+ # ---------------------------------------------------------
+
+ return $rc
+}