kvmfornfv.git
8 years agoAdded license information 63/9763/6 stable/brahmaputra brahmaputra.1.0
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

8 years agoMerge "Remove the code to apply yardstick patch"
Don Dugger [Thu, 28 Jan 2016 23:56:39 +0000 (23:56 +0000)]
Merge "Remove the code to apply yardstick patch"

8 years agoFix typos in the documentation. 43/8343/1
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>
8 years agoAdd the live migration docuement 13/6913/4
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>
8 years agoAdd the documentation for kvm4nfv project 61/6761/7
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>
8 years agoRemove the code to apply yardstick patch 35/6935/1
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>
8 years agoMerge topic 'yardstick-integ-v2'
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

8 years agoMerge "Build vfio-pci as a module, as dpdk tools expect it to be."
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."

8 years agoMerge topic 'yardstick-integ-v2'
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

8 years agoMerge "Add guest environment setup scripts"
Don Dugger [Wed, 6 Jan 2016 19:25:34 +0000 (19:25 +0000)]
Merge "Add guest environment setup scripts"

8 years agoFix for KVMFORNFV-23(Fuel installed KVM kernel blank screens on boot). 27/5627/1
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>
8 years agoCyclictest invokation script 67/4567/6
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>
8 years agoA script to launch real time guest 63/4563/5
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>
8 years agoAdd the yardstick invokation script 65/4565/6
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>
8 years agoScript to create the guest image 61/4561/5
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>
8 years agoAdd guest environment setup scripts 57/4557/4
Yunhong Jiang [Fri, 4 Dec 2015 19:58:39 +0000 (14:58 -0500)]
Add guest environment setup scripts

To achieve good real time and live migration performance, special setup
is needed on guest environment.

Two scripts are used to setup the guest environment. The guest-setup0.sh
setup the environment that should take effect before the tested kernel is
bringup, including install the kernel rpm, the rt-test package and modify
the grub entries. The guest-setup1.sh setup the environment that takes
effect after the tested kernel is up, like some sysfs entry, interrupt
affinity etc.

Change-Id: Icaed71e250b314723d6b1814c9ac33c10d99c6a0
Signed-off-by: David Su <david.w.su@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
8 years agoNo change to the grub default setting 17/5617/1
Yunhong Jiang [Wed, 6 Jan 2016 03:29:18 +0000 (19:29 -0800)]
No change to the grub default setting

The kernel rpm installation on rehl/centos is using grubby to setup the
default kernel entry, so we should not change the grub default set from
saved to 0.

Change-Id: I5910f498f5889c052e43d2e1e92b209c05b01455
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
8 years agoScript to create the rt-tests rpm 59/4559/4
Yunhong Jiang [Fri, 11 Dec 2015 19:38:49 +0000 (14:38 -0500)]
Script to create the rt-tests rpm

There is no rt-tests rpm on centos repo, also we need some special
compile flag to enable the -a parameter. So we try to make the rpm
ourselves. The version is specified as 0.96.

But please notice that the Makefile in the rt-tests tree requires some
key, we have to disable that requirement. So this rpm is only for OPNFV
testing purpose.

Change-Id: Ifdd52649bc14405dbe5ad375dc7fd32087139b18
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
8 years agoMerge "Add host environment setup scripts"
Jiang, Yunhong [Wed, 6 Jan 2016 03:28:20 +0000 (03:28 +0000)]
Merge "Add host environment setup scripts"

8 years agoMerge "Add virtual functions support to ixgbe and i40e."
Don Dugger [Tue, 5 Jan 2016 22:58:55 +0000 (22:58 +0000)]
Merge "Add virtual functions support to ixgbe and i40e."

8 years agoMerge "Add VM preemption latency measuring tool vm-trace"
Don Dugger [Tue, 5 Jan 2016 22:58:35 +0000 (22:58 +0000)]
Merge "Add VM preemption latency measuring tool vm-trace"

8 years agoAdd host environment setup scripts 23/5523/1
Yunhong Jiang [Fri, 4 Dec 2015 19:47:31 +0000 (14:47 -0500)]
Add host environment setup scripts

Testing KVM4NFV project requires special host environment to get the
best result.

Two scrripts are used to setup the environment. The host-setup0.sh setup
the environment that should take effect before the kernel is bringup,
mostly the grub entries. The host-setup1.sh setup the environment that
takes effect after the kernel is up, like some sysfs entry, interrupt
affinity etc. The host-config provides the configurations.

Change-Id: Ie933ea0089ac82acd39fc48088615215993312f3

Signed-off-by: David Su <david.w.su@intel.com>
Signed-off-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
8 years agokvmclock: add a new function to update env->tsc. 37/4037/1 WW-2015-52
Liang Li [Tue, 8 Dec 2015 01:14:07 +0000 (09:14 +0800)]
kvmclock: add a new function to update env->tsc.

(Back port from upstream, commit id: 0fd7e098db30e302d27920487f0afec)

The commit 317b0a6d8 fixed an issue which caused by the outdated
env->tsc value, but the fix lead to 'cpu_synchronize_all_states()'
called twice during live migration. The 'cpu_synchronize_all_states()'
takes about 130us for a VM which has 4 vcpus, it's a bit expensive.

Synchronize the whole CPU context just for updating env->tsc is too
wasting, this patch use a new function to update the env->tsc.
Comparing to 'cpu_synchronize_all_states()', it only takes about 20us.

Change-Id: I7dc8371aa17b005d073249c3732d9a7424f20a25
Signed-off-by: Liang Li <liang.z.li@intel.com>
Message-Id: <1446695464-27116-2-git-send-email-liang.z.li@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
8 years agoAdd VM preemption latency measuring tool vm-trace 01/3501/3
David Su [Sat, 21 Nov 2015 00:34:57 +0000 (16:34 -0800)]
Add VM preemption latency measuring tool vm-trace

This tool is to be used to measure VM preemption latencies
defined by kvmfornfv requirements.  See README.txt for
usage of the tool.

Change-Id: I78aed07df0af02f2268e36cfeb81923ba2bdb52a
Signed-off-by: David Su <david.w.su@intel.com>
8 years agoAdd virtual functions support to ixgbe and i40e. 57/3557/2
José Pekkarinen [Tue, 24 Nov 2015 07:24:14 +0000 (09:24 +0200)]
Add virtual functions support to ixgbe and i40e.

Change-Id: Iecc8205f443e2e47fc955c80bf6f0aa55db75447
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoMerge "Add configuration to support OVS kernel module"
Don Dugger [Tue, 1 Dec 2015 21:40:52 +0000 (21:40 +0000)]
Merge "Add configuration to support OVS kernel module"

8 years agoMerge "Bug fix."
Don Dugger [Tue, 1 Dec 2015 17:15:14 +0000 (17:15 +0000)]
Merge "Bug fix."

8 years agoMerge "Make vfio MSI interrupt be non-threaded."
Don Dugger [Tue, 1 Dec 2015 17:14:57 +0000 (17:14 +0000)]
Merge "Make vfio MSI interrupt be non-threaded."

8 years agoMake vfio MSI interrupt be non-threaded. 28/1228/5
Yunhong Jiang [Tue, 18 Aug 2015 18:27:04 +0000 (11:27 -0700)]
Make vfio MSI interrupt be non-threaded.

Currently the vfio msi interrupt is kept as IRQ thread, this is not good
for NFV scenerio because in NFV scenerio, we want to inject the interrupt
to the guest asap. A threaded IRQ introduces schedule latency.

However, this change is like a quick and dirty and may bring
potential deadlock, because the spinlock_irqsave() from eventfd_signal()
is preemptible in RT kernel, which should not be held on IRQ context. But
changing it to be raw_spinlock is bad because it will increase the latency
a lot if the eventfd is accessed by user space.

The deadlock should be ok since for vfio MSI handler is purely kernel story
and the lock is a per-eventfd lock and seems no one else is using it for the
vfio msi scenario.

Upstream status: discussion https://lkml.org/lkml/2015/10/26/764

Change-Id: Ie4405a5b568aa75ca8c3481eeeea228a486b9794

8 years agoForce tick interrupt and get rid of softirq magic 91/2891/4
Yunhong Jiang [Tue, 27 Oct 2015 04:54:35 +0000 (00:54 -0400)]
Force tick interrupt and get rid of softirq magic

This is a backporting from upstream linux, please refer to
http://marc.info/?t=142904577100001&r=1&w=2 for more information, the
corresponding kernel commit is 0ff53d09642204c64842 (tick: sched: Force
tick interrupt and get rid of softirq magic).

The purpose of this patch is, if a tick_sched interrupt is missed, don't
try to raise softirq, instead, we can simply trigger the timer interrupt.
The reason is, softirq requires context switch and has much higher overhead
than interrupt.

Upstream status: backport 0ff53d09642204c64842

Change-Id: I70131fb85189d15972fcaa1a2a2fa190270787f9
Back-port-by: Yunhong Jiang <yunhong.jiang@linux.intel.com>
8 years agoAdd configuration to support OVS kernel module 67/3367/2
Yunhong Jiang [Tue, 17 Nov 2015 15:29:02 +0000 (10:29 -0500)]
Add configuration to support OVS kernel module

OVS kernel module is important for NFV. The existed kernel config misses
several important kernel configuration, mostly for VxLAN, which is required
by the OVS kernel module.

Also add the OVS as a module, so that user can use it if needed, or replace
it when use the OPNFV patched OVS module.

Change-Id: I032f84e0468fc2614557274a50f30d502d39cc52
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
8 years agoFix systemd boot. 27/3327/2
José Pekkarinen [Tue, 17 Nov 2015 07:58:16 +0000 (09:58 +0200)]
Fix systemd boot.

Change-Id: I3e91161abafc62554e793e4851df639c099421e7
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoBuild vfio-pci as a module, as dpdk tools expect it to be. 39/3339/1
José Pekkarinen [Tue, 17 Nov 2015 08:14:28 +0000 (10:14 +0200)]
Build vfio-pci as a module, as dpdk tools expect it to be.

Change-Id: I4c0fe67609fc74fc60e6a2c99d448fd47a6d2a86
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoUpdate the kernel config to match the kernel version shipped. 21/3321/1
José Pekkarinen [Tue, 17 Nov 2015 07:34:58 +0000 (09:34 +0200)]
Update the kernel config to match the kernel version shipped.

Change-Id: Icd51e1625a57867b2f79cb2b2d1ab21b23bd80e0
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoBug fix. 37/3237/1
Liang Li [Thu, 12 Nov 2015 02:56:44 +0000 (10:56 +0800)]
Bug fix.

qemu_savevm_state_cancel becomes mandatory operation, it should
be done unconditionally.

back port from upstream.

Change-Id: If1a2a6d70f1b2632b72a7f7290a67f442096fdcf
Signed-off-by: Denis V. Lunev <den@openvz.org>
Reviewed-by: Liang Li <liang.z.li@intel.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Liang Li <liang.z.li@intel.com>
8 years agoMerge "Add build script for continuous integration"
Don Dugger [Fri, 6 Nov 2015 19:11:08 +0000 (19:11 +0000)]
Merge "Add build script for continuous integration"

8 years agoAdd build script for continuous integration 69/1269/9
David Su [Thu, 20 Aug 2015 23:12:47 +0000 (16:12 -0700)]
Add build script for continuous integration

The script is based on the build script for copper
https://git.opnfv.org/cgit/releng/tree/jjb/copper/docu-build.sh
The script should be run from the root of kvmfornfv source tree

Change-Id: Ic12890990741441e88e35a87ef2570b1c601ca61
Signed-off-by: David Su <david.w.su@intel.com>
8 years agoMerge "Add the opnfv kernel config file"
Don Dugger [Tue, 3 Nov 2015 16:14:18 +0000 (16:14 +0000)]
Merge "Add the opnfv kernel config file"

8 years agoMerge "These changes are a raw update to a vanilla kernel 4.1.10, with the recently...
Don Dugger [Thu, 29 Oct 2015 22:15:25 +0000 (22:15 +0000)]
Merge "These changes are a raw update to a vanilla kernel 4.1.10, with the recently announced rt patch patch-4.1.10-rt10.patch. No further changes needed."

8 years agoAdd the opnfv kernel config file 20/1120/9
Yunhong Jiang [Tue, 4 Aug 2015 21:21:51 +0000 (14:21 -0700)]
Add the opnfv kernel config file

Kernel config is important for RT linux. A specific config
file is provided for the opnfv project to build the
reference config options.

Currently this config file is assumed to be used for
both host and guest kernel. We may split them in future.

Change-Id: Ia9ebe0bc002518bb603af8901c6f31531d2f0cee
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
8 years agoMerge "migration: do cleanup operation after completion"
Don Dugger [Thu, 29 Oct 2015 08:05:08 +0000 (08:05 +0000)]
Merge "migration: do cleanup operation after completion"

8 years agoThese changes are a raw update to a vanilla kernel 4.1.10, with the 53/2653/1
José Pekkarinen [Mon, 19 Oct 2015 05:35:30 +0000 (08:35 +0300)]
These changes are a raw update to a vanilla kernel 4.1.10, with the
recently announced rt patch patch-4.1.10-rt10.patch. No further changes
needed.

Change-Id: I9a0cf084498133b10771e744b6da4b29dff706ba
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoThese changes comes from the qemu version 2.4.0.1 bugfix release, 81/2581/1
José Pekkarinen [Fri, 16 Oct 2015 06:46:11 +0000 (09:46 +0300)]
These changes comes from the qemu version 2.4.0.1 bugfix release,
taken from the official qemu wiki page. No further changes included.

Change-Id: I690a0aba6a986291252e766c60cf1fbea9a0cd46
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agoKernel bump from 4.1.3-rt to 4.1.7-rt. 75/2375/1
José Pekkarinen [Fri, 9 Oct 2015 05:42:44 +0000 (08:42 +0300)]
Kernel bump from 4.1.3-rt to 4.1.7-rt.

These changes brings a vanilla kernel from kernel.org, and the patch
applied for rt is patch-4.1.7-rt8.patch. No further changes needed.

Change-Id: Id8dd03c2ddd971e4d1d69b905f3069737053b700
Signed-off-by: José Pekkarinen <jose.pekkarinen@nokia.com>
8 years agomigration: do cleanup operation after completion 39/1939/1
Liang Li [Thu, 24 Sep 2015 00:56:12 +0000 (08:56 +0800)]
migration: do cleanup operation after completion

Because of the patch 3ea3b7fa9af067982f34b of kvm, now the migration_end()
is a time consuming operation, which takes about dozens of milliseconds, and
will prolong VM downtime. Such an operation should be done after migration
completion.

For a VM with 8G RAM, this patch can reduce the VM downtime about 32 ms during
live migration.

Change-Id: Iddd10bd5a2b1bf52cce36253f303fc458da343cd
Signed-off-by: Liang Li <liang.z.li@intel.com>
8 years agoExample as code, documentation template for sphinx build 95/1495/1
Aric Gardner [Thu, 10 Sep 2015 19:37:26 +0000 (15:37 -0400)]
Example as code, documentation template for sphinx build

This code will be pushed to each project creating a docs/ directory
This servers as an example and template for you (the developers) to create
your own project documentation

Change-Id: I8aa7b356e320ab83c902604c9bf66f56c16ae643
JIRA:RELENG-15
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
8 years agoAdd qemu 2.4.0 58/1358/1
Yang Zhang [Fri, 28 Aug 2015 01:58:54 +0000 (09:58 +0800)]
Add qemu 2.4.0

Change-Id: Ic99cbad4b61f8b127b7dc74d04576c0bcbaaf4f5
Signed-off-by: Yang Zhang <yang.z.zhang@intel.com>
8 years agoAdd the rt linux 4.1.3-rt3 as base 19/1119/1
Yunhong Jiang [Tue, 4 Aug 2015 19:17:53 +0000 (12:17 -0700)]
Add the rt linux 4.1.3-rt3 as base

Import the rt linux 4.1.3-rt3 as OPNFV kvm base.

It's from git://git.kernel.org/pub/scm/linux/kernel/git/rt/linux-rt-devel.git linux-4.1.y-rt and
the base is:

commit 0917f823c59692d751951bf5ea699a2d1e2f26a2
Author: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date:   Sat Jul 25 12:13:34 2015 +0200

    Prepare v4.1.3-rt3

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
We lose all the git history this way and it's not good. We
should apply another opnfv project repo in future.

Change-Id: I87543d81c9df70d99c5001fbdf646b202c19f423
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
8 years agoChange nic-names to kvm 95/995/1
Don Dugger [Mon, 13 Jul 2015 05:24:42 +0000 (23:24 -0600)]
Change nic-names to kvm

We'll leave the git project as `kvmfornfv' but we'll change the other
nic-names (IRC, JIRA, mailing list) to just `kvm'.

Change-Id: I4b7c84b070348eff228a8829688a184276736c32

8 years agoAdding .gitreview INFO and License 93/993/1
Aric Gardner [Fri, 10 Jul 2015 17:27:02 +0000 (13:27 -0400)]
Adding .gitreview INFO and License

Change-Id: I5f26b9e9386f7777de96d6c481177bcf8825e63b
Signed-off-by: Aric Gardner <agardner@linuxfoundation.org>
8 years agoInitial empty repository
Aric Gardner [Fri, 10 Jul 2015 15:07:27 +0000 (15:07 +0000)]
Initial empty repository