Yunhong Jiang [Wed, 21 Sep 2016 21:05:24 +0000 (14:05 -0700)]
Revert "[Fuel-plugin] Install kernel in post-deployment."
This reverts commit
a10a10b373f17dc423800e6bb8d1a8e99450090d.
According to Fuel team, this patch will be included into C-2 release
instead of C-1 release, so we have to revert it to the C stable branch.
To revert from C stable branch requires cherry-picking from master
branch, so here it is.
Change-Id: I32e1148e5c1cd24e5696270f1aa328630ef42dd0
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
swatisharma [Fri, 2 Sep 2016 12:03:58 +0000 (17:33 +0530)]
OPNFV KVM4NFV: Reduce Qemu build duration
This patch contains some enhancement to reduce
the duration for qemu rpm and debian build.
Change-Id: Ic27b8b200a383af613a09027bad73f1cf62c54ce
Co-Authored-By: Navya Bathula <b.navya4@tcs.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Jiang, Yunhong [Wed, 21 Sep 2016 18:33:52 +0000 (18:33 +0000)]
Merge "Adjusted headings"
Sofia Wallin [Wed, 21 Sep 2016 11:39:28 +0000 (13:39 +0200)]
Adjusted headings
Adjusted the headings in the installation & config guide, scenario description
and user guide. Also removed the relese notes from the install and config doc
since you have a separate document for this.
Change-Id: I2ecbaebe2c0f337cca0a8d0ad130fa97eceabe78
Signed-off-by: Sofia Wallin <sofia.wallin@ericsson.com>
Yunhong Jiang [Wed, 21 Sep 2016 01:55:46 +0000 (18:55 -0700)]
Small enhancement to the release notes document
Change the release notes to include the upstream version and reorgnize the
structure.
Change-Id: Ic28f639d9e6b877020dc226a147c7196bcad802a
Signed-off-by: Reddy, Raghuveer <raghuveer.reddy@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Sofia Wallin [Tue, 20 Sep 2016 08:24:25 +0000 (10:24 +0200)]
Documentation updates
Adjusted the heading in the user guide
Adjusted the heading, licence part and release date in the release notes
Change-Id: I48a561bcd0d3bab655b27f3cafd486f22fa40c77
Signed-off-by: Sofia Wallin <sofia.wallin@ericsson.com>
Michal Skalski [Sun, 18 Sep 2016 12:16:16 +0000 (14:16 +0200)]
[Fuel-plugin] Install kernel in post-deployment.
Install kernel and reboot compute nodes in post-deployment phase when
there is less chance to interfere with other tasks. Implement Michael's
suggestion to use reboot puppet module.
Change-Id: I83867e5e2752c39d2b69c950e3e475d43de04466
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
shravani [Tue, 13 Sep 2016 09:53:09 +0000 (15:23 +0530)]
Execution of kvm4nfv cyclictest based on job type.
This patch contains the updated test scripts which
will select the node and test run time for performing
cyclictest case based on the job type.
Change-Id: Ia54e98faac2f5da956688f1ca57664cea1151d84
Signed-off-by: Shravani <shravani.p@tcs.com>
Jiang, Yunhong [Fri, 9 Sep 2016 16:32:46 +0000 (16:32 +0000)]
Merge "This patch contains the scripts to remove hardcoded kernel version, host ip and cleaning of the host machine after execution of cyclictest."
kalyanreddy [Wed, 7 Sep 2016 13:44:05 +0000 (19:14 +0530)]
This patch contains the scripts to remove hardcoded kernel version,
host ip and cleaning of the host machine after execution of
cyclictest.
Change-Id: I92aaed5229fc3c572e74dcce03b2c984ae1bb111
Co-Authored-By: Shravani <shravani.p@tcs.com>
Signed-off-by: Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
kalyanreddy [Tue, 6 Sep 2016 04:50:11 +0000 (10:20 +0530)]
OPNFV KVM4NFV: Documentation Enhancement
This patch contains some documentation enhancement for
more clarity on KVM4NFV project.
Change-Id: I3186d65d8d542ffd842a1a8b54289cda308056ce
Signed-off-by: Gundarapu Kalyan Reddy <reddyx.gundarapu@intel.com>
Jiang, Yunhong [Thu, 1 Sep 2016 04:22:33 +0000 (04:22 +0000)]
Merge "OPNFV KVM4NFV: Documentation Enhancement"
Yunhong Jiang [Tue, 30 Aug 2016 16:14:57 +0000 (16:14 +0000)]
Merge "Change the cyclictest time"
swatisharma [Tue, 30 Aug 2016 12:41:57 +0000 (18:11 +0530)]
OPNFV KVM4NFV: Documentation Enhancement
This patch contains some documentation enhancement for
more clarity on KVM4NFV project.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Jiang, Yunhong [Sat, 27 Aug 2016 00:34:54 +0000 (00:34 +0000)]
Merge "CI integration for KVMforNFV."
Yunhong Jiang [Sat, 27 Aug 2016 00:21:52 +0000 (17:21 -0700)]
Change the cyclictest time
Currently the cyclictest runs only 1 seconds, that's too short for patch
verification.
Increase this time to be 10 minutes to make it more reasonable. In long
term, we should have another type of task to run 24 hours testing.
Change-Id: I48534b3da48018060c885305488b969286c8bd49
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
swatisharma [Tue, 23 Aug 2016 18:35:03 +0000 (00:05 +0530)]
CI integration for KVMforNFV.
This patch contains scripts for creating a ubuntu docker
image with yardstick and all its dependency packages
installed for running cyclictest.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Jiang, Yunhong [Tue, 23 Aug 2016 22:17:42 +0000 (22:17 +0000)]
Merge "OPNFV KVM4NFV CICD: Scripts for creating Rpms & Debians for Kernel, Qemu"
swatisharma [Mon, 22 Aug 2016 06:50:56 +0000 (12:20 +0530)]
OPNFV KVM4NFV: Documentation Enhancement
This patch contains some documentation enhancement
required for KVM4NFV project.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Jiang, Yunhong [Sat, 20 Aug 2016 20:09:20 +0000 (20:09 +0000)]
Merge "CI integration for KVMforNFV."
Jiang, Yunhong [Fri, 19 Aug 2016 22:38:30 +0000 (22:38 +0000)]
Merge "OPNFV KVM4NFV: Documentation"
swatisharma [Wed, 17 Aug 2016 19:32:53 +0000 (01:02 +0530)]
CI integration for KVMforNFV.
This patch contains scripts for running cyclictest through yardstick
as part of CI integration for KVMforNFV. The scripts will be
triggered to create a docker ubuntu container for running yardstick,
configuring the host, launching a guest VM and executing cyclictest
through yardstick. The verification process gets completed after
running the cyclictest.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
swatisharma [Thu, 18 Aug 2016 15:36:56 +0000 (21:06 +0530)]
OPNFV KVM4NFV: Documentation
This patch contains the full documentation required for KVM4NFV
project. The documents are organized into the following
sections- user guide, configuration guide, installation guide.
requirement document, design document, release notes and glossary.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Yunhong Jiang [Fri, 19 Aug 2016 05:24:00 +0000 (05:24 +0000)]
Merge "bnxt_en: Request firmware reset after successful firwmare update"
Yunhong Jiang [Fri, 19 Aug 2016 05:23:30 +0000 (05:23 +0000)]
Merge "bnxt_en: Reset embedded processor after applying firmware upgrade"
Yunhong Jiang [Fri, 19 Aug 2016 00:23:58 +0000 (17:23 -0700)]
bnxt_en: Request firmware reset after successful firwmare update
Upon successful mgmt processor firmware update, request a self
reset upon next PCIe reset (e.g. system reboot).
upstream-status: backport
Notice: Change the "signed-off-by" to "Signed -of -by" to avoid smap to
original author.
Signed -of -by: Rob Swindell <rob.swindell@broadcom.com>
Signed -of -by: Michael Chan <michael.chan@broadcom.com>
Signed -of -by: David S. Miller <davem@davemloft.net>
Change-Id: I331f1c9bd091e4ed7c116d320872d3eea6a91a37
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Fri, 19 Aug 2016 00:21:26 +0000 (17:21 -0700)]
bnxt_en: Reset embedded processor after applying firmware upgrade
Use HWRM_FW_RESET command to request a self-reset of the embedded
processor(s) after successfully applying a firmware update. For boot
processor, the self-reset is currently deferred until the next PCIe reset.
upstream-status: backport
Notice: We change the Signed-off-by to "Signed -of -by" to avoid trigger
the spam to the original author.
Signed -of -by: Rob Swindell <swindell@broadcom.com>
Signed -of -by: Michael Chan <mchan@broadcom.com>
Signed -of -by: David S. Miller <davem@davemloft.net>
Change-Id: Ic491d584c566b89a315d04f41b1d4fa928756403
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Michal Skalski [Thu, 18 Aug 2016 21:12:42 +0000 (23:12 +0200)]
Add support for Broadcom NetXtremeII 10Gb
This NIC is used on Ericsson CI POD2
JIRA: KVMFORNFV-45
JIRA: FUEL-171
upstream-status: N/A
Change-Id: I3b1ab07388719380d288cb0d8c2a2af52510303d
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Michal Skalski [Wed, 17 Aug 2016 19:33:48 +0000 (21:33 +0200)]
Install kernel in main phase of deployment
Kvm plugin restart compute nodes after kernel installation but after reboot
mcollective agent sometimes does not start, which causes deployment
failures. Preliminary tests show that rebooting nodes after pre
deployment phase may reduce occurence of this problem.
JIRA: KVMFORNFV-45
JIRA: FUEL-171
Change-Id: I4a599c834a3263bb487acb491f82aea7901dc201
Signed-off-by: Michal Skalski <mskalski@mirantis.com>
davidjchou [Thu, 11 Aug 2016 19:22:01 +0000 (12:22 -0700)]
Build kernel in another directory and README.md update for fuel-plugin
1. Since some files generated during kernel building are only root
writeable, this will cause "permission denied" issue in "make clean"
in fuel@opnfv iso building which uses normal user priviledge.
Building kernel in another directory than the directory mapped into
Docker container can resolve the issue.
2. Update and typing error correction for README.md
Upstream status - NA
Change-Id: Icdd1a12d38f90619dd91588cb9e0f5b9bdfe95d1
Signed-off-by: davidjchou <david.j.chou@intel.com>
Yunhong Jiang [Fri, 12 Aug 2016 00:09:51 +0000 (00:09 +0000)]
Merge "Revert the test_kvmfornfv.sh"
Jiang, Yunhong [Fri, 12 Aug 2016 00:09:15 +0000 (00:09 +0000)]
Merge "Remove OVS quirk"
Yunhong Jiang [Thu, 11 Aug 2016 23:20:38 +0000 (16:20 -0700)]
Revert the test_kvmfornfv.sh
It triggers several bugs and need more polish. However, we can't simply
revert that changeset because that will cause failur also.
A stub is created.
Change-Id: I8e54d5865c16d85834a8dd011322421a6c448f8a
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Swati [Mon, 27 Jun 2016 12:23:53 +0000 (17:53 +0530)]
OPNFV KVM4NFV CICD: Scripts for creating Rpms & Debians for Kernel, Qemu
This patch contains the files for generating rpms & debians for both kernel
& qemu changes, as part of kvmfornfv project development. The scripts will be
triggered to build kernel-rpm & qemu-rpm packages inside centos docker, and
kernel-debian & qemu-debian packages inside ubuntu docker, as part of the
CICD process.
After the new builds are ready, they will be deployed on the pharos testbed
for verification. Later, these will be consumed/triggered by verify/daily
Releng JJBs.
Reference: https://wiki.opnfv.org/display/kvm/KVM4NFV+CICD+Jobs
Change-Id: Ie8e8108566790a6c8db2fef1c9b5799a41732b44
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
swatisharma [Tue, 9 Aug 2016 14:13:46 +0000 (19:43 +0530)]
CI Integration for KVMforNFV
This patch contains scripts for running cyclictest through yardstick
as part of CI integration for KVMforNFV. The scripts will be
triggered to create a docker ubuntu container for running yardstick,
configuring the host, launching a guest VM and executing cyclictest
through yardstick. The verification process gets completed after
running the cyclictest.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Srinivas Pandruvada [Sun, 15 May 2016 03:09:52 +0000 (20:09 -0700)]
scripts/package/Makefile: rpmbuild add support of RPMOPTS
After commit
21a59991ce0c ("scripts/package/Makefile: rpmbuild is needed
for rpm targets"), it is no longer possible to specify RPMOPTS.
For example, we can no longer able to control _topdir using the following
make command.
make RPMOPTS="--define '_topdir /home/xyz/workspace/'" binrpm-pkg
Fixes:
21a59991ce0c ("scripts/package/Makefile: rpmbuild is needed for rpm targets")
Cc: <stable@vger.kernel.org> # 4.3+
Notice: Have to remove the original signed-off-by line because gerrit
will notify the original author, which is not good. Keep the name and
the email address still.
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Michal Marek <mmarek@suse.com>
upstream-status: backport
Change-Id: If7ce5d9d006ee9d49b2d7d200ebdc278395eb3f7
backport-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Donald Dugger [Tue, 26 Jul 2016 14:13:47 +0000 (14:13 +0000)]
Remove OVS quirk
The OVS project has finally added support for the 4.4 kernel so this
quirk is no longer necessary.
Upstream status: NA
Change-Id: I62a40b96c16b8a7754297fa108240568fa7b5646
Signed-off-by: Don Dugger <n0ano@n0ano.com>
Yunhong Jiang [Fri, 22 Jul 2016 22:01:15 +0000 (22:01 +0000)]
Merge "Restore the non_hz_full"
Jiang, Yunhong [Fri, 22 Jul 2016 17:19:19 +0000 (17:19 +0000)]
Merge "Creation of QEMU(rpm and debian builds)"
Yunhong Jiang [Fri, 22 Jul 2016 17:10:32 +0000 (17:10 +0000)]
Merge "Add the "timers: do not raise softirq unconditionally" temporarily"
Yunhong Jiang [Tue, 18 Aug 2015 18:23:10 +0000 (11:23 -0700)]
Restore the non_hz_full
Please refer to http://comments.gmane.org/gmane.linux.kernel/
1891417, the
last two mails on this discussion.
The non_hz_full is important for RT, so take it back temporarily.
Unluckily I didn't find the corresponding reverting patch on the RT tree.
Upstream status: pending
Change-Id: I2748a8f9b7a98ef2185a1da60089984432393eff
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Tue, 18 Aug 2015 18:07:48 +0000 (11:07 -0700)]
Add the "timers: do not raise softirq unconditionally" temporarily
This patch enable the nohz_full and is important for RT. Bring it back
temporarily, while waiting for more work on RT community.
Please refer to https://lkml.org/lkml/2015/3/17/783 for more information
of the revert.
A little rebase needed because it's reverted on old code base.
Please notice that we change the rt_mutex_trylock() so that we can get
the tvec_base lock there. This is sure to be wrong, and should be fixed
cleanly. And that's the major reason the original patch are reverted on the
upstream RT linux. Will discuss with upstream on how to achieve the
solution.
Upstream status: pending
Change-Id: I2747e087faf4145b69b800a60b8d9414bc71e206
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:52 +0000 (17:36 +0000)]
Merge "KVM: nVMX: keep preemption timer enabled during L2 execution"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:49 +0000 (17:36 +0000)]
Merge "KVM: nVMX: avoid incorrect preemption timer vmexit in nested guest"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:43 +0000 (17:36 +0000)]
Merge "KVM: VMX: reflect broken preemption timer in vmcs_config"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:40 +0000 (17:36 +0000)]
Merge "KVM: vmx: fix missed cancellation of TSC deadline timer"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:35 +0000 (17:36 +0000)]
Merge "KVM: x86: introduce cancel_hv_tscdeadline"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:30 +0000 (17:36 +0000)]
Merge "KVM: vmx: fix underflow in TSC deadline calculation"
Yunhong Jiang [Thu, 21 Jul 2016 17:36:25 +0000 (17:36 +0000)]
Merge "kvm: vmx: hook preemption timer support"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:22 +0000 (17:36 +0000)]
Merge "kvm: vmx: rename vmx_pre/post_block to pi_pre/post_block"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:18 +0000 (17:36 +0000)]
Merge "KVM: x86: support using the vmx preemption timer for tsc deadline timer"
Jiang, Yunhong [Thu, 21 Jul 2016 17:36:13 +0000 (17:36 +0000)]
Merge "kvm: lapic: separate start_sw_tscdeadline from start_apic_timer"
Swati Sharma [Tue, 28 Jun 2016 17:34:43 +0000 (02:34 +0900)]
Creation of QEMU(rpm and debian builds)
This includes the scripts that are added to create qemu-rpm
and qemu-debian builds for KVM4NFV.
Co-Authored-By: Gundarapu Reddy <reddyx.gundarapu@intel.com>
Signed-off-by: Swati Sharma <swatix.sharma@intel.com>
Jiang, Yunhong [Tue, 19 Jul 2016 01:40:51 +0000 (01:40 +0000)]
Merge "Update fuel plugin builder installation"
Paolo Bonzini [Wed, 6 Jul 2016 11:23:51 +0000 (13:23 +0200)]
KVM: nVMX: keep preemption timer enabled during L2 execution
Because the vmcs12 preemption timer is emulated through a separate hrtimer,
we can keep on using the preemption timer in the vmcs02 to emulare L1's
TSC deadline timer.
However, the corresponding bit in the pin-based execution control field
must be kept consistent between vmcs01 and vmcs02. On vmentry we copy
it into the vmcs02; on vmexit the preemption timer must be disabled in
the vmcs01 if a preemption timer vmexit happened while in guest mode.
The preemption timer value in the vmcs02 is set by vmx_vcpu_run, so it
need not be considered in prepare_vmcs02.
Cc: Yunhong Jiang <yunhong.jiang@intel.com>
Cc: Haozhong Zhang <haozhong.zhang@intel.com>
Tested-by: Wanpeng Li <kernellwp@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: Iffaea7689d4e653dc6224a6f05c6e5ba2fb5c8a8
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Wanpeng Li [Wed, 6 Jul 2016 10:29:58 +0000 (18:29 +0800)]
KVM: nVMX: avoid incorrect preemption timer vmexit in nested guest
The preemption timer for nested VMX is emulated by hrtimer which is started on L2
entry, stopped on L2 exit and evaluated via the check_nested_events hook. However,
nested_vmx_exit_handled is always returning true for preemption timer vmexit. Then,
the L1 preemption timer vmexit is captured and be treated as a L2 preemption
timer vmexit, causing NULL pointer dereferences or worse in the L1 guest's
vmexit handler:
BUG: unable to handle kernel NULL pointer dereference at (null)
IP: [< (null)>] (null)
PGD 0
Oops: 0010 [#1] SMP
Call Trace:
? kvm_lapic_expired_hv_timer+0x47/0x90 [kvm]
handle_preemption_timer+0xe/0x20 [kvm_intel]
vmx_handle_exit+0x169/0x15a0 [kvm_intel]
? kvm_arch_vcpu_ioctl_run+0xd5d/0x19d0 [kvm]
kvm_arch_vcpu_ioctl_run+0xdee/0x19d0 [kvm]
? kvm_arch_vcpu_ioctl_run+0xd5d/0x19d0 [kvm]
? vcpu_load+0x1c/0x60 [kvm]
? kvm_arch_vcpu_load+0x57/0x260 [kvm]
kvm_vcpu_ioctl+0x2d3/0x7c0 [kvm]
do_vfs_ioctl+0x96/0x6a0
? __fget_light+0x2a/0x90
SyS_ioctl+0x79/0x90
do_syscall_64+0x68/0x180
entry_SYSCALL64_slow_path+0x25/0x25
Code: Bad RIP value.
RIP [< (null)>] (null)
RSP <
ffff8800b5263c48>
CR2:
0000000000000000
---[ end trace
9c70c48b1a2bc66e ]---
This can be reproduced readily by preemption timer enabled on L0 and disabled
on L1.
Return false since preemption timer vmexits must never be reflected to L2.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Yunhong Jiang <yunhong.jiang@intel.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Haozhong Zhang <haozhong.zhang@intel.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: Iaffcd503666879e8157c8559876330110a66e5c4
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Paolo Bonzini [Fri, 8 Jul 2016 09:53:38 +0000 (11:53 +0200)]
KVM: VMX: reflect broken preemption timer in vmcs_config
Simplify cpu_has_vmx_preemption_timer. This is consistent with the
rest of setup_vmcs_config and preparatory for the next patch.
Tested-by: Wanpeng Li <kernellwp@gmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: I3b33a881c5e47d5d3046e28374d0b0ca363ffad7
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Wanpeng Li [Tue, 28 Jun 2016 06:54:19 +0000 (14:54 +0800)]
KVM: vmx: fix missed cancellation of TSC deadline timer
INFO: rcu_sched detected stalls on CPUs/tasks:
1-...: (11800 GPs behind) idle=45d/
140000000000000/0 softirq=0/0 fqs=21663
(detected by 0, t=65016 jiffies, g=11500, c=11499, q=719)
Task dump for CPU 1:
qemu-system-x86 R running task 0 3529 3525 0x00080808
ffff8802021791a0 ffff880212895040 0000000000000001 00007f1c2c00db40
ffff8801dd20fcd3 ffffc90002b98000 ffff8801dd20fc88 ffff8801dd20fcf8
0000000000000286 ffff8801dd2ac538 ffff8801dd20fcc0 ffffffffc06949c9
Call Trace:
? kvm_write_guest_cached+0xb9/0x160 [kvm]
? __delay+0xf/0x20
? wait_lapic_expire+0x14a/0x200 [kvm]
? kvm_arch_vcpu_ioctl_run+0xcbe/0x1b00 [kvm]
? kvm_arch_vcpu_ioctl_run+0xe34/0x1b00 [kvm]
? kvm_vcpu_ioctl+0x2d3/0x7c0 [kvm]
? __fget+0x5/0x210
? do_vfs_ioctl+0x96/0x6a0
? __fget_light+0x2a/0x90
? SyS_ioctl+0x79/0x90
? do_syscall_64+0x7c/0x1e0
? entry_SYSCALL64_slow_path+0x25/0x25
This can be reproduced readily by running a full dynticks guest(since hrtimer
in guest is heavily used) w/ lapic_timer_advance disabled.
If fail to program hardware preemption timer, we will fallback to hrtimer based
method, however, a previous programmed preemption timer miss to cancel in this
scenario which results in one hardware preemption timer and one hrtimer emulated
tsc deadline timer run simultaneously. So sometimes the target guest deadline
tsc is earlier than guest tsc, which leads to the computation in vmx_set_hv_timer
can underflow and cause delta_tsc to be set a huge value, then host soft lockup
as above.
This patch fix it by cancelling the previous programmed preemption timer if there
is once we failed to program the new preemption timer and fallback to hrtimer
based method.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: I8a2decefab743aecdfab676fb9267324bf42b848
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Wanpeng Li [Thu, 30 Jun 2016 00:52:49 +0000 (08:52 +0800)]
KVM: x86: introduce cancel_hv_tscdeadline
Introduce cancel_hv_tscdeadline() to encapsulate preemption
timer cancel stuff.
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Radim Krčmář <rkrcmar@redhat.com>
Cc: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: Icc038176cbf361a9ecdf37ed3425108db57617f2
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Paolo Bonzini [Mon, 27 Jun 2016 13:08:01 +0000 (15:08 +0200)]
KVM: vmx: fix underflow in TSC deadline calculation
If the TSC deadline timer is programmed really close to the deadline or
even in the past, the computation in vmx_set_hv_timer can underflow and
cause delta_tsc to be set to a huge value. This generally results
in vmx_set_hv_timer returning -ERANGE, but we can fix it by limiting
delta_tsc to be positive or zero.
Reported-by: Wanpeng Li <wanpeng.li@hotmail.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: I12eea18c3ec648dbf782d7754b7b574d7d6aa92c
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Mon, 13 Jun 2016 21:19:59 +0000 (14:19 -0700)]
kvm: vmx: hook preemption timer support
Hook the VMX preemption timer to the "hv timer" functionality added
by the previous patch. This includes: checking if the feature is
supported, if the feature is broken on the CPU, the hooks to
setup/clean the VMX preemption timer, arming the timer on vmentry
and handling the vmexit.
A module parameter states if the VMX preemption timer should be
utilized.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
[Move hv_deadline_tsc to struct vcpu_vmx, use -1 as the "unset" value.
Put all VMX bits here. Enable it by default #yolo. - Paolo]
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: Icb8e0b853eedce3d52c394e510fa14d2cdd432e9
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Mon, 13 Jun 2016 21:19:58 +0000 (14:19 -0700)]
kvm: vmx: rename vmx_pre/post_block to pi_pre/post_block
Prepare to switch from preemption timer to hrtimer in the
vmx_pre/post_block. Current functions are only for posted interrupt,
rename them accordingly.
upstream-status: backport
Change-Id: Ie1dde9be21deeb661de095e07d6c29bcba2e7d73
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Mon, 13 Jun 2016 21:20:01 +0000 (14:20 -0700)]
KVM: x86: support using the vmx preemption timer for tsc deadline timer
The VMX preemption timer can be used to virtualize the TSC deadline timer.
The VMX preemption timer is armed when the vCPU is running, and a VMExit
will happen if the virtual TSC deadline timer expires.
When the vCPU thread is blocked because of HLT, KVM will switch to use
an hrtimer, and then go back to the VMX preemption timer when the vCPU
thread is unblocked.
This solution avoids the complex OS's hrtimer system, and the host
timer interrupt handling cost, replacing them with a little math
(for guest->host TSC and host TSC->preemption timer conversion)
and a cheaper VMexit. This benefits latency for isolated pCPUs.
[A word about performance... Yunhong reported a 30% reduction in average
latency from cyclictest. I made a similar test with tscdeadline_latency
from kvm-unit-tests, and measured
- ~20 clock cycles loss (out of ~3200, so less than 1% but still
statistically significant) in the worst case where the test halts
just after programming the TSC deadline timer
- ~800 clock cycles gain (25% reduction in latency) in the best case
where the test busy waits.
I removed the VMX bits from Yunhong's patch, to concentrate them in the
next patch - Paolo]
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Change-Id: I4aa1ecfa3463d1cbfb317511b45d2074b33d9b6f
upstream-status: backport
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Mon, 13 Jun 2016 21:20:00 +0000 (14:20 -0700)]
kvm: lapic: separate start_sw_tscdeadline from start_apic_timer
The function to start the tsc deadline timer virtualization will be used
also by the pre_block hook when we use the preemption timer; change it
to a separate function. No logic changes.
upstream-status: backport
Change-Id: Ie2fc19108c3252f8a299b17aba16c14aa8d31ae8
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
davidjchou [Wed, 13 Jul 2016 22:55:04 +0000 (15:55 -0700)]
Fix the failure of launching instances in Horizon
In the Mitaka version of OpenStack, Neutron agent uses connmark
module to add rules into iptable. Enable this module in
opnfv.config to fix the failure of launching instances in Horizon.
Upstream status - NA
Change-Id: I31f346198a5ba50e83d10210bb5b5e10baf825f3
Signed-off-by: davidjchou <david.j.chou@intel.com>
Guo Ruijing [Wed, 6 Jul 2016 22:45:05 +0000 (06:45 +0800)]
Update fuel plugin builder installation
Upstream status: N/A
Change-Id: If27d36d8a7790723b9145ffe567d9bfed925e5ed
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
davidjchou [Tue, 14 Jun 2016 15:04:29 +0000 (08:04 -0700)]
Rebase fuel-plugin for kvmfornfv to fuel 9.0
1. Uplifit fuel-plugin for kvmfornfv to fuel 9.0 due to that fuel 9.0 will be the
deployment tool of OPNFV Colorado release.
2. Fixed quirk for kernel.
3. Added all tools and libs for building OVS module.
4. Allow KVM developer to build fuel-plugin-kvm after they modify the kerenl
code without commiting their change into the repo first. So, they can test
their code change by fuel-plugin-kvm till they satisfy with their change,
then commit to the repo.
5. The final code built into OPNFV fuel iso will depend on the commit ID for
kvmfornfv speicifed in fuel for OPNFV source tree.
Change-Id: Iaf9ff49c69df374d0757884cfdac4cccee3eebe4
Signed-off-by: davidjchou <david.j.chou@intel.com>
Donald Dugger [Mon, 6 Jun 2016 15:30:38 +0000 (15:30 +0000)]
Move quirks out of build script
Due to expediencyh concerns some quirk code was placed in the build
script in order to get the Brahmaputra release out on time. These
quirks don't belong in the script itself and, now that there is a
mechanisms to applly arbitrary patch files during the build script,
this patch moves that quirk code out to the separate patch file
area.
Upstream status - NA
Change-Id: Ib8100eef00009bbaf0e16b28849821ef5878f9f5
Signed-off-by: Donald Dugger <n0ano@n0ano.com>
Don Dugger [Mon, 6 Jun 2016 13:30:05 +0000 (13:30 +0000)]
Merge "Update the files in fuel-plugin to match the upstream"
davidjchou [Sat, 4 Jun 2016 00:47:59 +0000 (17:47 -0700)]
Update the files in fuel-plugin to match the upstream
Since the upstream kvmfornfv kernel version and OVS changed, updated
the related files in fuel-plugin, so it can build fuel-plugin-kvm with
latest kvmfornfv kernel and OVS module.
Upstream status: kvmfornfv kernel 4.4.6-rt14nfv
Change-Id: I6a7c312f7527acae4d2de64c7b43da4fbec41504
Signed-off-by: davidjchou <david.j.chou@intel.com>
Don Dugger [Fri, 3 Jun 2016 03:33:22 +0000 (03:33 +0000)]
Merge "These changes are the raw update to qemu-2.6."
Donald Dugger [Thu, 5 May 2016 18:26:53 +0000 (18:26 +0000)]
Remove config file changes from build script
These changes are no longer needed as they are now (correctly) incorporated
in the actual config file in the source tree.
Upstream status: NA
Change-Id: Ide33453789338ba3f7692ca6108de89a4ac3c222
Signed-off-by: Don Dugger <n0ano@n0ano.com>
Jiang, Yunhong [Thu, 19 May 2016 23:40:22 +0000 (23:40 +0000)]
Merge "Build uio as module to fix initialization of i40e devices in bare metal execution of dpdk-16.04."
José Pekkarinen [Wed, 18 May 2016 10:18:31 +0000 (13:18 +0300)]
These changes are the raw update to qemu-2.6.
Collission happened in the following patches:
migration: do cleanup operation after completion(
738df5b9)
Bug fix.(
1750c932f86)
kvmclock: add a new function to update env->tsc.(
b52baab2)
The code provided by the patches was already in the upstreamed
version.
Change-Id: I3cc11841a6a76ae20887b2e245710199e1ea7f9a
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Donald Dugger [Thu, 28 Apr 2016 21:39:53 +0000 (21:39 +0000)]
Add patch to Linux 4.4 to support OVS
Given that OVS doesn't support Linux 4.4 yet we need to add a patch
to the OVS sources so that we can build a 4.4 version of the OVS
loadable kernel module that works with the RT Linux 4.4 kernel used
in OPNFV.
The directory `patches/ovs' contains patches (currently only one) that
are applied against the OVS tree. The Fuel build script is modified
to apply all of the patches in this directory to the OVS tree. Then
a working OVS KLM is created that is then inserted into the RT kernel
DEB package so that the end result is an RT kernel that supports OVS.
Upstream status: NA
Change-Id: I361f92526fb4bcafbeab9ce21570202f4aad1632
Signed-off-by: Don Dugger <n0ano@n0ano.com>
José Pekkarinen [Fri, 13 May 2016 10:49:23 +0000 (13:49 +0300)]
Build uio as module to fix initialization of i40e devices
in bare metal execution of dpdk-16.04.
Upstream: NA.
Change-Id: Ia98461b15348a667c4989dfe1399f0c5bc0f0c12
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Don Dugger [Thu, 5 May 2016 15:10:28 +0000 (15:10 +0000)]
Merge "Reverted execution attribute of shell script files"
Jiang, Yunhong [Thu, 5 May 2016 01:14:55 +0000 (01:14 +0000)]
Merge "Add kernel modules required for OPNFV"
davidjchou [Tue, 3 May 2016 23:17:36 +0000 (23:17 +0000)]
Reverted execution attribute of shell script files
Reverted execution attribute of shell script files in fuel-plugin
sub-dir. The execution attribute was lost when these files were
commited inside fuel-plugin sub-dir, and the executtion attribute of
these shell script files is necessary to the build of fuel-plugin-kvm.
Upstream status: NA
Change-Id: I0ac060a27c4a1570bff17864aa7db5b6b9edf732
Signed-off-by: davidjchou <david.j.chou@intel.com>
Guo Ruijing [Tue, 3 May 2016 01:22:42 +0000 (09:22 +0800)]
Create fuel kvm plugin
Upstream status: NA
In Brahmaputra release, KVM plugin functionality was bundled inside the
fuel-plugin-qemu. In order for easy maintenance, the KVM plugin functionality
would be separated from fuel-plugin-qemu and moved into an independent
fuel-plugin-kvm and keep the source code here starting from Colorado release.
Change-Id: Id89069234a4529cca40f1887e2d947378f928dd2
Signed-off-by: davidjchou <david.j.chou@intel.com>
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Aric Gardner [Mon, 25 Apr 2016 18:30:37 +0000 (14:30 -0400)]
Change PTL to raghuveer.reddy@intel.com
Change-Id: Id67d11079e738bc4180c395b86d56cfc81c3770f
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
Don Dugger [Mon, 25 Apr 2016 15:24:12 +0000 (15:24 +0000)]
Add kernel modules required for OPNFV
The OPNFV environment requires many kernel modules that are not
part of the default RT kernel environment. This patch adds those
modules back in.
Upstream status: NA
Change-Id: Id4e63f3d2dd3e19614e9e080adf1cdae9ab26ee1
José Pekkarinen [Fri, 15 Apr 2016 07:39:42 +0000 (10:39 +0300)]
Update opnfv kernel config for the new kernel 4.4.6-rt14.
This config file is based in the previous one, adding the
changes needed in the config file for this new kernel version.
It has been added in kernel support for CephFS.
Upstream: NA.
Change-Id: I1de8b4678bdfa81f4fc204f4a02d11f11cb5ae87
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
José Pekkarinen [Mon, 11 Apr 2016 07:41:07 +0000 (10:41 +0300)]
These changes are the raw update to linux-4.4.6-rt14. Kernel sources
are taken from kernel.org, and rt patch from the rt wiki download page.
During the rebasing, the following patch collided:
Force tick interrupt and get rid of softirq magic(I70131fb85).
Collisions have been removed because its logic was found on the
source already.
Change-Id: I7f57a4081d9deaa0d9ccfc41a6c8daccdee3b769
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Aric Gardner [Tue, 1 Mar 2016 20:54:48 +0000 (15:54 -0500)]
Remove yang.z.zhang@intel.com as committer
Add jose.pekkarinen@nokia.com as committer
RT Ticket: 19272, 19265
Change-Id: Ia49e92674f2da2feea53e08231bb4fdd6b54ca88
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
raghu [Wed, 10 Feb 2016 21:55:50 +0000 (13:55 -0800)]
Added license information
Upstream Status : Not Applicable
For detalied license information please refer to https://wiki.opnfv.org/documentation#licencing_your_documentation
Change-Id: Iacba57a9162b25abc474dbac236b4dee5f27544c
Don Dugger [Thu, 28 Jan 2016 23:56:39 +0000 (23:56 +0000)]
Merge "Remove the code to apply yardstick patch"
José Pekkarinen [Thu, 28 Jan 2016 16:54:09 +0000 (18:54 +0200)]
Fix typos in the documentation.
This is a candidate for the Brahmaputra branch.
Change-Id: Idbe41ac77f1aae902cd00af4bc9a0e3532f4284a
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Yunhong Jiang [Fri, 15 Jan 2016 20:05:38 +0000 (12:05 -0800)]
Add the live migration docuement
The document to share the fast live migration environment setup and test
method.
Change-Id: Icd616f58e2ea39d101fcebc1d760178151d8629f
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Signed-off-by: Liang Li <liang.z.li@intel.com>
Signed-off-by: Raghuveer Reddy <raghuveer.reddy@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Thu, 14 Jan 2016 22:26:21 +0000 (14:26 -0800)]
Add the documentation for kvm4nfv project
Adding documentation to kvm4nfv project based on
https://wiki.opnfv.org/documentation/tools and the contents mostly comes
from https://wiki.opnfv.org/nfv-kvm,
https://wiki.opnfv.org/nfv-kvm-tuning and
https://wiki.opnfv.org/nfv-kvm-test.
Change-Id: If321221724ec9b76db065af7cdab97ce981be740
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Sat, 16 Jan 2016 06:16:52 +0000 (22:16 -0800)]
Remove the code to apply yardstick patch
The patch to run cyclictest on baremetal
(https://gerrit.opnfv.org/gerrit/#/c/3633/) has been merged, thus we
don't need apply the patch anymore. Remove it.
Change-Id: I7058f9d6c3e873b56be52a0e886fe460506a9911
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Don Dugger [Wed, 6 Jan 2016 21:31:21 +0000 (21:31 +0000)]
Merge topic 'yardstick-integ-v2'
* changes:
Cyclictest invokation script
Add the yardstick invokation script
Don Dugger [Wed, 6 Jan 2016 20:10:02 +0000 (20:10 +0000)]
Merge "Build vfio-pci as a module, as dpdk tools expect it to be."
Don Dugger [Wed, 6 Jan 2016 19:26:04 +0000 (19:26 +0000)]
Merge topic 'yardstick-integ-v2'
* changes:
A script to launch real time guest
Script to create the guest image
Script to create the rt-tests rpm
Don Dugger [Wed, 6 Jan 2016 19:25:34 +0000 (19:25 +0000)]
Merge "Add guest environment setup scripts"
José Pekkarinen [Wed, 6 Jan 2016 05:50:48 +0000 (07:50 +0200)]
Fix for KVMFORNFV-23(Fuel installed KVM kernel blank screens on boot).
The configuration of the kernel enables the framebuffer console without
any framebuffer selected other than i915. Adding the VESA compliant
framebuffer should fix this issue.
Change-Id: Icc384e05774e1de20985aeb19dfef25ae2431bb6
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
Yunhong Jiang [Fri, 4 Dec 2015 23:09:37 +0000 (18:09 -0500)]
Cyclictest invokation script
We run the cyclictest through yardstick, which will help to setup the
environment.
Environment setup scripts are copied to the yardstick docker images. A
yardstick cyclictest yaml file are also used.
Change-Id: Iacf1299a38c3c81a08fd5fdbbf64c5a57f30c38b
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Fri, 4 Dec 2015 23:01:29 +0000 (18:01 -0500)]
A script to launch real time guest
Launch real time guest need special options like lock memory etc. A
script is used to achieved this. We invoke the qemu utility directly
instead of going through middle layer like libvirt, to get better
controll.
Change-Id: Ia6ad7313463e2f858516bddd4a4b58e95d8c943e
Signed-off-by: David Su <david.w.su@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Yunhong Jiang [Tue, 8 Dec 2015 04:30:30 +0000 (23:30 -0500)]
Add the yardstick invokation script
This script does the real yardstick works. It downloads the yardstick code,
and run the cyclictest test case.
This scripts is copied by the cyclictest.sh to the container image and
is executed from the yardstick container.
It's based on a script from QiLiang when discussing the integration with
yardstick.
Change-Id: I5920a21401a3e442d5f4fada05d9e789f2a99add
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
Signed-off-by: QiLiang <liangqi1@huawei.com>
Yunhong Jiang [Wed, 9 Dec 2015 19:55:56 +0000 (14:55 -0500)]
Script to create the guest image
This script download the latest CentOS cloud image and modify it to meet
the test requirement, including remove cloud related script, setup
the ssh keys etc.
It derives from yardstick project, which currently only provide support
to Ubuntu image. If they support CentOS image, we can possibly switch to
them.
Change-Id: I9482936615a28da696ff8f51248a62b13e5677f4
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>