The package rpms/nvml.git has added or updated architecture specific content in its spec file (ExclusiveArch/ExcludeArch or %ifarch/%ifnarch) in commit(s): https://src.fedoraproject.org/cgit/rpms/nvml.git/commit/?id=77fa7fc0e3ceae7c....
Change: +ExclusiveArch: x86_64 ppc64le
Thanks.
Full change: ============
commit 7ac6dfcf3bdf53b3ee063894e15a73cce36b3afe Author: Marcin lusarz marcin.slusarz@intel.com Date: Wed Feb 26 17:52:25 2020 +0100
Add ChangeLog for 1.8-2
diff --git a/nvml.spec b/nvml.spec index 1c72a81..d47eaad 100644 --- a/nvml.spec +++ b/nvml.spec @@ -32,7 +32,7 @@
Name: nvml Version: 1.8 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Persistent Memory Development Kit (formerly NVML) License: BSD URL: http://pmem.io/pmdk @@ -70,8 +70,12 @@ BuildRequires: libunwind-devel %global __provides_exclude_from ^%{_libdir}/pmdk_debug/.*\.so.*$
# By design, PMDK does not support any 32-bit architecture. -# Due to dependency on xmmintrin.h and some inline assembly, it can be -# compiled only for x86_64 at the moment. +# Due to dependency on some inline assembly, PMDK can be compiled only +# on these architectures: +# - x86_64 +# - ppc64le (experimental) +# - aarch64 (unmaintained, supporting hardware doesn't exist?) +# # Other 64-bit architectures could also be supported, if only there is # a request for that, and if somebody provides the arch-specific # implementation of the low-level routines for flushing to persistent @@ -79,7 +83,6 @@ BuildRequires: libunwind-devel
# https://bugzilla.redhat.com/show_bug.cgi?id=1340634 # https://bugzilla.redhat.com/show_bug.cgi?id=1340635 -# https://bugzilla.redhat.com/show_bug.cgi?id=1340636 # https://bugzilla.redhat.com/show_bug.cgi?id=1340637
ExclusiveArch: x86_64 ppc64le @@ -602,6 +605,9 @@ cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/
%changelog +* Wed Feb 26 2020 Marcin lusarz marcin.slusarz@intel.com - 1.8-2 +- Enable PPC64LE packages + * Wed Feb 12 2020 Marcin lusarz marcin.slusarz@intel.com - 1.8-1 - Update to PMDK version 1.8. This release stops shipping libvmem & libvmmalloc. These libraries are now provided by vmem
commit 77fa7fc0e3ceae7cac61ad7fc153e1be1590ecd5 Author: Lucas A. M. Magalhaes lamm@linux.ibm.com Date: Mon Feb 17 17:48:05 2020 -0300
Add ppc64le package
diff --git a/nvml.spec b/nvml.spec index e6df7db..1c72a81 100644 --- a/nvml.spec +++ b/nvml.spec @@ -82,7 +82,7 @@ BuildRequires: libunwind-devel # https://bugzilla.redhat.com/show_bug.cgi?id=1340636 # https://bugzilla.redhat.com/show_bug.cgi?id=1340637
-ExclusiveArch: x86_64 +ExclusiveArch: x86_64 ppc64le
%description The Persistent Memory Development Kit is a collection of libraries for
commit f5e3e301bba3bf05ee872678217e48fc12781513 Author: Marcin lusarz marcin.slusarz@intel.com Date: Wed Feb 26 17:09:15 2020 +0100
Add another patch for timeouts on PPC64.
diff --git a/0003-test-build-obj_defrag_advanced-with-some-optimizatio.patch b/0003-test-build-obj_defrag_advanced-with-some-optimizatio.patch new file mode 100644 index 0000000..58ff8a3 --- /dev/null +++ b/0003-test-build-obj_defrag_advanced-with-some-optimizatio.patch @@ -0,0 +1,24 @@ +From ad2064dbb457482f9af9816f61ba721cc5aae126 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= marcin.slusarz@intel.com +Date: Wed, 26 Feb 2020 15:54:19 +0100 +Subject: [PATCH] test: build obj_defrag_advanced with some optimizations + +On my machine it decreases TEST3 time from 52s to 20s +and TEST5 from 30s to 11s. +--- + src/test/obj_defrag_advanced/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/test/obj_defrag_advanced/Makefile b/src/test/obj_defrag_advanced/Makefile +index f2e8eda94..45fa851aa 100644 +--- a/src/test/obj_defrag_advanced/Makefile ++++ b/src/test/obj_defrag_advanced/Makefile +@@ -40,4 +40,4 @@ LIBPMEMOBJ=y + + include ../Makefile.inc + +-CFLAGS += -DDEBUG ++CFLAGS += -DDEBUG -Og +-- +2.20.1 + diff --git a/nvml.spec b/nvml.spec index 79cba1b..e6df7db 100644 --- a/nvml.spec +++ b/nvml.spec @@ -40,6 +40,7 @@ URL: http://pmem.io/pmdk Source0: https://github.com/pmem/pmdk/releases/download/%%7Bupstreamversion%7D/pmdk-%... Patch0: 0001-test-py-add-require_free_space.patch Patch1: 0002-test-Fix-obj_zones-for-ppc64le.patch +Patch2: 0003-test-build-obj_defrag_advanced-with-some-optimizatio.patch
BuildRequires: gcc BuildRequires: make @@ -530,6 +531,7 @@ provided in the command line options to check whether files are in a consistent %setup -q -n pmdk-%{upstreamversion} %patch0 -p1 %patch1 -p1 +%patch2 -p1
%build
commit 0116788efd1a5e2e815514690a732290bb9b52fc Author: Marcin lusarz marcin.slusarz@intel.com Date: Tue Feb 25 19:04:33 2020 +0100
Add patch for timeouts on PPC64
diff --git a/0002-test-Fix-obj_zones-for-ppc64le.patch b/0002-test-Fix-obj_zones-for-ppc64le.patch new file mode 100644 index 0000000..19f4d54 --- /dev/null +++ b/0002-test-Fix-obj_zones-for-ppc64le.patch @@ -0,0 +1,38 @@ +From 0d72150d0f1e6d52c3b8888500fbcce64c751362 Mon Sep 17 00:00:00 2001 +From: "Lucas A. M. Magalhaes" lamm@linux.ibm.com +Date: Fri, 21 Feb 2020 09:40:28 -0300 +Subject: [PATCH] test: Fix obj_zones for ppc64le + +This test was timing out because of intensive page_fault +handling. By allocating more by each loop we minimize this +issue. + +Signed-off-by: Lucas A. M. Magalhaes lamm@linux.ibm.com +--- + src/test/obj_zones/obj_zones.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/test/obj_zones/obj_zones.c b/src/test/obj_zones/obj_zones.c +index c1d84268a..3cc796beb 100644 +--- a/src/test/obj_zones/obj_zones.c ++++ b/src/test/obj_zones/obj_zones.c +@@ -36,6 +36,7 @@ + */ + + #include <stddef.h> ++#include <page_size.h> + + #include "unittest.h" + +@@ -104,7 +105,7 @@ test_malloc_free(const char *path) + 0, S_IWUSR | S_IRUSR)) == NULL) + UT_FATAL("!pmemobj_create: %s", path); + +- size_t alloc_size = 128 * 1024; ++ size_t alloc_size = PMEM_PAGESIZE * 32; + size_t max_allocs = 1000000; + PMEMoid *oid = MALLOC(sizeof(PMEMoid) * max_allocs); + size_t n = 0; +-- +2.20.1 + diff --git a/nvml.spec b/nvml.spec index 6d988dc..79cba1b 100644 --- a/nvml.spec +++ b/nvml.spec @@ -39,6 +39,7 @@ URL: http://pmem.io/pmdk
Source0: https://github.com/pmem/pmdk/releases/download/%%7Bupstreamversion%7D/pmdk-%... Patch0: 0001-test-py-add-require_free_space.patch +Patch1: 0002-test-Fix-obj_zones-for-ppc64le.patch
BuildRequires: gcc BuildRequires: make @@ -528,6 +529,7 @@ provided in the command line options to check whether files are in a consistent %prep %setup -q -n pmdk-%{upstreamversion} %patch0 -p1 +%patch1 -p1
%build
commit aa6b3b4baec9feb76a6c3cc4077a571dae79336c Author: Marcin lusarz marcin.slusarz@intel.com Date: Tue Feb 18 15:58:49 2020 +0100
Also run Python tests
diff --git a/0001-test-py-add-require_free_space.patch b/0001-test-py-add-require_free_space.patch new file mode 100644 index 0000000..1be4bfe --- /dev/null +++ b/0001-test-py-add-require_free_space.patch @@ -0,0 +1,70 @@ +From 2bfc80d85248ed0014e396c2cab4b8ffb60e470e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Marcin=20=C5=9Alusarz?= marcin.slusarz@intel.com +Date: Tue, 18 Feb 2020 15:51:12 +0100 +Subject: [PATCH] test: (py) add require_free_space + +--- + src/test/obj_defrag_advanced/TESTS.py | 4 ++++ + src/test/unittest/context.py | 11 ++++++++--- + 2 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/src/test/obj_defrag_advanced/TESTS.py b/src/test/obj_defrag_advanced/TESTS.py +index 8979af4a5..daf7d8ecc 100755 +--- a/src/test/obj_defrag_advanced/TESTS.py ++++ b/src/test/obj_defrag_advanced/TESTS.py +@@ -49,6 +49,8 @@ class ObjDefragAdvanced(t.BaseTest): + min_root_size = 0 + + def run(self, ctx): ++ ctx.require_free_space(self.pool_size) ++ + path = ctx.create_holey_file(self.pool_size, 'testfile') + dump1 = 'dump1.log' + dump2 = 'dump2.log' +@@ -98,6 +100,8 @@ class ObjDefragAdvancedMt(ObjDefragAdvanced): + ncycles = 2 + + def run(self, ctx): ++ ctx.require_free_space(self.pool_size) ++ + path = ctx.create_holey_file(self.pool_size, 'testfile') + + ctx.exec('obj_defrag_advanced', +diff --git a/src/test/unittest/context.py b/src/test/unittest/context.py +index 00a35fba3..2b326ebce 100644 +--- a/src/test/unittest/context.py ++++ b/src/test/unittest/context.py +@@ -1,5 +1,5 @@ + # +-# Copyright 2019, Intel Corporation ++# Copyright 2019-2020, Intel Corporation + # + # Redistribution and use in source and binary forms, with or without + # modification, are permitted provided that the following conditions +@@ -136,9 +136,9 @@ class ContextBase: + return int(proc.stdout) + futils.fail('Could not get size of the file, it is inaccessible or does not exist') + +- def get_free_space(self): ++ def get_free_space(self, dir="."): + """Returns free space for current file system""" +- _, _, free = shutil.disk_usage(".") ++ _, _, free = shutil.disk_usage(dir) + return free + + +@@ -187,6 +187,11 @@ class Context(ContextBase): + os.chmod(filepath, mode) + return filepath + ++ def require_free_space(self, space): ++ if self.get_free_space(self.testdir) < space: ++ futils.skip('Not enough free space (' + str(space / 1024 / 1024) + ++ ' MiB required)') ++ + def mkdirs(self, path, mode=None): + """ + Creates directory along with all parent directories required. In the +-- +2.17.2 + diff --git a/nvml.spec b/nvml.spec index a043993..6d988dc 100644 --- a/nvml.spec +++ b/nvml.spec @@ -2,7 +2,6 @@ # rpmbuild options: # --with | --without fabric # --with | --without ndctl -# --define _testconfig <path to custom testconfig.sh>
# do not terminate build if files in the $RPM_BUILD_ROOT # directory are not found in %%files (without fabric case) @@ -39,6 +38,7 @@ License: BSD URL: http://pmem.io/pmdk
Source0: https://github.com/pmem/pmdk/releases/download/%%7Bupstreamversion%7D/pmdk-%... +Patch0: 0001-test-py-add-require_free_space.patch
BuildRequires: gcc BuildRequires: make @@ -47,6 +47,7 @@ BuildRequires: autoconf BuildRequires: automake BuildRequires: man BuildRequires: pkgconfig +BuildRequires: python3
%if %{with ndctl} BuildRequires: ndctl-devel >= %{min_ndctl_ver} @@ -526,6 +527,7 @@ provided in the command line options to check whether files are in a consistent
%prep %setup -q -n pmdk-%{upstreamversion} +%patch0 -p1
%build @@ -556,13 +558,27 @@ cp utils/pmdk.magic %{buildroot}%{_datadir}/pmdk/ %if 0%{?_skip_check} == 1 echo "Check skipped" %else - %if %{defined _testconfig} - cp %{_testconfig} src/test/testconfig.sh - %else - echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh - echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh - echo 'TEST_BUILD="debug nondebug"' >> src/test/testconfig.sh - %endif + echo "PMEM_FS_DIR=/tmp" > src/test/testconfig.sh + echo "PMEM_FS_DIR_FORCE_PMEM=1" >> src/test/testconfig.sh + echo 'TEST_BUILD="debug nondebug"' >> src/test/testconfig.sh + echo "TM=1" >> src/test/testconfig.sh + + echo "config = {" > src/test/testconfig.py + echo " 'pmem_fs_dir': '/tmp'," >> src/test/testconfig.py + echo " 'fs_dir_force_pmem': 1," >> src/test/testconfig.py + echo " 'build': ['debug', 'release']," >> src/test/testconfig.py + echo " 'tm': 1," >> src/test/testconfig.py + echo " 'test_type': 'check'," >> src/test/testconfig.py + echo " 'fs': 'all'," >> src/test/testconfig.py + echo " 'unittest_log_level': 1," >> src/test/testconfig.py + echo " 'keep_going': False," >> src/test/testconfig.py + echo " 'timeout': '3m'," >> src/test/testconfig.py + echo " 'dump_lines': 30," >> src/test/testconfig.py + echo " 'force_enable': None," >> src/test/testconfig.py + echo " 'device_dax_path': []," >> src/test/testconfig.py + echo "}" >> src/test/testconfig.py + + make pycheck make check %endif
arch-excludes@lists.fedoraproject.org