diff --git a/.gitignore b/.gitignore index d4d489c..ac2293c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ tuned-*.tar.bz2 /tuned-2.9.0.rc1.tar.gz /tuned-2.9.0.tar.gz +/kvm-unit-tests-20171020.tar.gz diff --git a/0001-port-realtime-virtual-host-profile-to-Fedora.patch b/0001-port-realtime-virtual-host-profile-to-Fedora.patch new file mode 100644 index 0000000..8398495 --- /dev/null +++ b/0001-port-realtime-virtual-host-profile-to-Fedora.patch @@ -0,0 +1,36 @@ +@@ -, +, @@ +--- + profiles/realtime-virtual-host/run-tscdeadline-latency.sh | 4 ++-- + profiles/realtime-virtual-host/script.sh | 2 +- + 2 files changed, 3 insertions(+), 3 deletions(-) +--- a/profiles/realtime-virtual-host/run-tscdeadline-latency.sh ++++ a/profiles/realtime-virtual-host/run-tscdeadline-latency.sh +@@ -1,6 +1,6 @@ + #!/bin/bash + +-QEMU=/usr/libexec/qemu-kvm ++QEMU=$(type -P qemu-kvm || echo /usr/libexec/qemu-kvm) + + if [ ! -f /sys/module/kvm/parameters/lapic_timer_advance_ns ]; then + echo "/sys/module/kvm/parameters/lapic_timer_advance_ns not found" +@@ -14,7 +14,7 @@ for i in `seq 1000 500 7000`; do + chrt -f 1 taskset -c $1 $QEMU -enable-kvm -device pc-testdev \ + -device isa-debug-exit,iobase=0xf4,iosize=0x4 \ + -display none -serial stdio -device pci-testdev \ +- -kernel /usr/share/qemu-kvm/tscdeadline_latency.flat \ ++ -kernel /usr/share/tuned/tscdeadline_latency.flat \ + -cpu host | grep latency | cut -f 2 -d ":" > $dir/out + + A=0 +--- a/profiles/realtime-virtual-host/script.sh ++++ a/profiles/realtime-virtual-host/script.sh +@@ -26,7 +26,7 @@ start() { + + + if [ -f $ltanfile -a ! -f ./lapic_timer_adv_ns ]; then +- if [ -f /usr/share/qemu-kvm/tscdeadline_latency.flat ]; then ++ if [ -f /usr/share/tuned/tscdeadline_latency.flat ]; then + tempdir=`mktemp -d` + isolatedcpu=`echo "$TUNED_isolated_cores_expanded" | cut -f 1 -d ","` + sh ./run-tscdeadline-latency.sh $isolatedcpu > $tempdir/lat.out +-- diff --git a/sources b/sources index 4fba2c9..6ee7356 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ SHA512 (tuned-2.9.0.tar.gz) = ece7e2f21cddccc6df6cbd72d88b2368e06ae16975820f29a3a435cf2609679fe539899d7b42a894b9cc70f6a9a007722c450798d532ba16315471c1215d5edf +SHA512 (kvm-unit-tests-20171020.tar.gz) = 79cfd45d051b8fca87ff990c9ecaeddd85ffc7ebecd4839d508eabb1df775d4109c27c0b85beb7b201e6d26982cd1c2120abc14f1deb8916aa392db3f86d7bd9 diff --git a/tuned.spec b/tuned.spec index 6d4a8e3..8afd908 100644 --- a/tuned.spec +++ b/tuned.spec @@ -1,3 +1,5 @@ +%global _binaries_in_noarch_packages_terminate_build 0 + #%%global prerelease rc #%%global prereleasenum 2 @@ -7,12 +9,14 @@ Summary: A dynamic adaptive system tuning daemon Name: tuned Version: 2.9.0 -Release: 1%{?prerel1}%{?dist} +Release: 2%{?prerel1}%{?dist} License: GPLv2+ -Source: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}.tar.gz#/%{name}-%{version}%{?prerel1}.tar.gz +Source0: https://github.com/redhat-performance/%{name}/archive/v%{version}%{?prerel2}.tar.gz#/%{name}-%{version}%{?prerel1}.tar.gz +Source1: https://git.kernel.org/pub/scm/virt/kvm/kvm-unit-tests.git/snapshot/kvm-unit-tests-20171020.tar.gz URL: http://www.tuned-project.org/ BuildArch: noarch BuildRequires: python, systemd, desktop-file-utils +BuildRequires: gcc-x86_64-linux-gnu Requires(post): systemd, virt-what Requires(preun): systemd Requires(postun): systemd @@ -24,6 +28,8 @@ Requires: python-schedutils Recommends: kernel-tools %endif +Patch1: 0001-port-realtime-virtual-host-profile-to-Fedora.patch + %description The tuned package contains a daemon that tunes system settings dynamically. It does so by monitoring the usage of several system components periodically. @@ -117,12 +123,20 @@ Additional tuned profile(s) targeted to Network Function Virtualization (NFV) gu Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host Requires: %{name} = %{version} Requires: %{name}-profiles-realtime = %{version} +Recommends: %{name}-profiles-nfv-host-bin = %{version} Requires: tuna -Recommends: qemu-kvm-tools-rhev %description profiles-nfv-host Additional tuned profile(s) targeted to Network Function Virtualization (NFV) host. +%package profiles-nfv-host-bin +Summary: Binaries that are needed for the Network Function Virtualization (NFV) host tuned profile. +Requires: %{name} = %{version} +ExclusiveArch: %{ix86} x86_64 + +%description profiles-nfv-host-bin +Binaries that are needed for the Network Function Virtualization (NFV) host tuned profile. + # this is kept for backward compatibility, it should be dropped for RHEL-8 %package profiles-nfv Summary: Additional tuned profile(s) targeted to Network Function Virtualization (NFV) @@ -150,10 +164,14 @@ It can be also used to fine tune your system for specific scenarios. %prep %setup -q -n %{name}-%{version}%{?prerel2} - +%patch1 -p1 +cd .. && tar xf %{SOURCE1} %build - +cd ../kvm-unit-tests-20171020 +./configure --cross-prefix=x86_64-linux-gnu- +make x86/tscdeadline_latency.flat +x86_64-linux-gnu-strip x86/tscdeadline_latency.flat %install make install DESTDIR=%{buildroot} DOCDIR=%{docdir} @@ -167,6 +185,8 @@ mkdir -p %{buildroot}%{_datadir}/tuned/grub2 mv %{buildroot}%{_sysconfdir}/grub.d/00_tuned %{buildroot}%{_datadir}/tuned/grub2/00_tuned rmdir %{buildroot}%{_sysconfdir}/grub.d +install -m 0644 ../kvm-unit-tests-20171020/x86/tscdeadline_latency.flat %{buildroot}%{_datadir}/tuned + # ghost for persistent storage mkdir -p %{buildroot}%{_var}/lib/tuned @@ -373,6 +393,10 @@ fi %{_prefix}/lib/tuned/realtime-virtual-host %{_mandir}/man7/tuned-profiles-nfv-host.7* +%files profiles-nfv-host-bin +%defattr(-,root,root,-) +%{_datadir}/tuned/tscdeadline_latency.flat + %files profiles-nfv %defattr(-,root,root,-) %doc %{docdir}/README.NFV @@ -395,6 +419,10 @@ fi %{_mandir}/man7/tuned-profiles-compat.7* %changelog +* Mon Nov 13 2017 Jaroslav Škarvada - 2.9.0-2 +- added tscdeadline_latency.flat benchmark + resolves: rhbz#1504680 + * Sun Oct 29 2017 Jaroslav Škarvada - 2.9.0-1 - new release - rebased tuned to latest upstream