flight 83396 libvirt real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83396/
Failures :-/ but no regressions.
Tests which did not succeed, but are not blocking:
test-armhf-armhf-libvirt 14 guest-saverestorefail never pass
test-armhf-armhf-libvirt 12
flight 83369 qemu-upstream-4.6-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83369/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
build-i386-xsm5 xen-buildfail in 83043 REGR. vs. 82482
Tests
On Fri, Feb 19, 2016 at 03:48:41PM +0100, Luis R. Rodriguez wrote:
> On Fri, Feb 19, 2016 at 02:22:12PM +0100, Juergen Gross wrote:
> > On 19/02/16 14:08, Luis R. Rodriguez wrote:
> > > The current check is a super long winded way of asking if this
> > > is on lguest. The flags is used for legacy
The loader for xen paravirtualized environment isn't callable multiple
times as it won't free any memory in case of failure.
Call grub_relocator_unload() as other modules do it before allocating
a new relocator or when unloading the module.
Signed-off-by: Juergen Gross
---
V4:
The loader for xen paravirtualized environment is using lots of global
variables. Reduce the number by making them either local or by putting
them into a single state structure.
Signed-off-by: Juergen Gross
Reviewed-by: Daniel Kiper
---
The Xen hypervisor supports starting a dom0 with large memory (up to
the TB range) by not including the initrd and p2m list in the initial
kernel mapping. Especially the p2m list can grow larger than the
available virtual space in the initial mapping.
The started kernel is indicating the support
Get actual version of include/xen/xen.h from the Xen repository in
order to be able to use constants defined there.
Signed-off-by: Juergen Gross
Reviewed-by: Daniel Kiper
---
include/xen/arch-x86/xen-x86_32.h | 22 +++
Modify the page table construction to allow multiple virtual regions
to be mapped. This is done as preparation for removing the p2m list
from the initial kernel mapping in order to support huge pv domains.
This allows a cleaner approach for mapping the relocator page by
using this capability.
Modern pvops linux kernels support an initrd not covered by the initial
mapping. This capability is flagged by an elf-note.
In case the elf-note is set by the kernel don't place the initrd into
the initial mapping. This will allow to load larger initrds and/or
support domains with larger memory,
When loading a Xen pv-kernel avoid memory leaks in case of errors.
Signed-off-by: Juergen Gross
---
grub-core/loader/i386/xen.c| 2 +-
grub-core/loader/i386/xen_fileXX.c | 17 +++--
2 files changed, 12 insertions(+), 7 deletions(-)
diff --git
Various features and parameters of a pv-kernel are specified via
elf notes in the kernel image. Those notes are part of the interface
between the Xen hypervisor and the kernel.
Instead of using num,bers in the code when interpreting the elf notes
make use of the header supplied by Xen for that
Modern pvops linux kernels support a p2m list not covered by the
kernel mapping. This capability is flagged by an elf-note specifying
the virtual address the kernel is expecting the p2m list to be mapped
to.
In case the elf-note is set by the kernel don't place the p2m list
into the kernel
Do the p2m list allocation of the to be loaded kernel in a separate
function. This will allow doing the p2m list allocation at different
times of the boot preparations depending on the features the kernel
is supporting.
While at this remove superfluous setting of first_p2m_pfn and
nr_p2m_frames
Do the allocation of special pages (start info, console and xenbus
ring buffers) in a separate function. This will allow to do the
allocation at different times of the boot preparations depending on
the features the kernel is supporting.
Signed-off-by: Juergen Gross
Reviewed-by:
Refer to SDM 13.4.3 Extended Region of an XSAVE Area. The value return
by ecx[1] with cpuid function 0xdh and sub-fucntion i (i>1) indicates
the alignment of the state component i when the compacted format of the
extended region of an xsave area is used.
So when hvm guest using CPUID
This patch fix bugs caused by previous patch:
1. xstate_comp_offset should be caculated based on xcomp_bv
2. non-lazy/lazy xsave[sc] may overwiting xsave area
3. ebx may return wrong value using CPUID eax=0xdh,ecx =1
The fist and second bugs is found by Jan. Thanks to Jan.
Shuai Ruan (3):
Previous patch using all available features caculate xstate_comp_offsets.
This is wrong.This patch fix this bug by caculating the xstate_comp_offset
based on xcomp_bv of current guest.
Also, the xstate_comp_offset should take alignment into consideration.
Signed-off-by: Shuai Ruan
The offset at which components xsaved by xsave[sc] are not fixed.
So when when a save with v->fpu_dirtied set is followed by one
with v->fpu_dirtied clear, non-lazy xsave[sc] may overwriting data
written by the lazy one.
When xsave[sc] is enable, vcpu_xsave_mask will return XSTATE_ALL when
flight 83346 qemu-upstream-4.5-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83346/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-armhf-armhf-xl 5 xen-install fail REGR. vs. 82621
On 02/19/16 13:06, Luis R. Rodriguez wrote:
>>
>> I think the \n\t is unnecessary.
>
> Super! I wonder if we we can just use this on s390 as well without it pooping?
> I ask as this would set a precedent.
>
Ask Heike, but I think just ; or \n ought be be fine. I do not know of
*any* case where
From: Ian Campbell
Date: Fri, 19 Feb 2016 11:44:51 +
> Wei has been picking this up for quite a while now.
>
> Signed-off-by: Ian Campbell
Applied, thanks Ian.
___
Xen-devel mailing list
In COLO mode, secondary needs to send the following data to primary:
1. In libxl
Secondary sends the following CHECKPOINT_CONTEXT to primary:
CHECKPOINT_SVM_SUSPENDED, CHECKPOINT_SVM_READY and CHECKPOINT_SVM_RESUMED
2. In libxc
Secondary sends the dirty pfn list to primary
But the io_fd
Secondary vm is running in COLO mode, we need to send secondary
vm's dirty page information to primary host at checkpoint, so we
have to enable qemu logdirty on secondary.
libxl__domain_suspend_common_switch_qemu_logdirty() is to enable
qemu logdirty. But it uses libxl__domain_save_state, and
Secondary(restore side) is running under COLO, we also need
postcopy/suspend callbacks.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxc/include/xenguest.h | 10 ++
tools/libxl/libxl_save_msgs_gen.pl | 4
It is the negotiation record for COLO.
Primary->Secondary:
control_id 0x: Secondary VM is out of sync, start a new checkpoint
Secondary->Primary:
0x0001: Secondary VM is suspended
0x0002: Secondary VM is ready
0x0003:
add colo readme, refer to
http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
Signed-off-by: Yang Hongyang
Acked-by: Ian Campbell
Signed-off-by: Wen Congyang
---
docs/README.colo | 9 +
1 file changed, 9
write checkpoint_state records into the stream, used by both
primary and secondary to send colo context.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_internal.h | 5
tools/libxl/libxl_stream_write.c |
In normal migration, the qemu state is passed to qemu as a parameter.
With COLO, secondary vm is running. So we will do the following steps
at every checkpoint:
1. suspend both primary vm and secondary vm
2. sync the state
3. resume both primary vm and secondary vm
Primary will send qemu's state
We will call libxl__xc_domain_restore_done() to rebuild secondary vm. But
we need store gfn and console gfn when rebuilding secondary vm. So make
restore_results a function pointer in callback struct and struct
{save,restore}_callbacks, and use this callback to send store gfn and
console gfn to
Used by secondary to send it's dirty bitmap to primary under COLO.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
docs/specs/libxc-migration-stream.pandoc | 24 ++-
tools/libxc/xc_sr_common.c | 31
Send dirty pfn list to primary when checkpoint under colo.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxc/xc_sr_common.h | 4 ++
tools/libxc/xc_sr_restore.c | 120 +++-
2
This patchset implemented the COLO feature for Xen.
For detail/install/use of COLO feature, refer to:
http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
This patchset is based on:
1. http://lists.xenproject.org/archives/html/xen-devel/2016-02/msg02515.html
You can get the codes from
We will do the following things again and again:
1. Suspend primary vm
a. Suspend primary vm
b. do postsuspend
c. Read CHECKPOINT_SVM_SUSPENDED sent by secondary
2. Resume primary vm
a. Read CHECKPOINT_SVM_READY from slave
b. Do presume
c. Resume primary vm
d. Read
Add a new option -c to the command 'xl remus'. If you want
to use COLO HA instead of Remus HA, please use -c option.
Update man pages to reflect the addition of a new option to
'xl remus' command.
Also add a new option -c to the internal command 'xl migrate-receive'.
Signed-off-by: Wen Congyang
Add cmdline switches to 'xl migrate-receive' command to specify
a domain-specific hotplug script to setup COLO proxy.
Add a new config var 'colo.default.agentscript' to xl.conf, that
allows the user to override the default global script used to
setup COLO proxy.
Signed-off-by: Yang Hongyang
Secondary vm is running in colo mode. So we will do
the following things again and again:
1. Resume secondary vm
a. Send CHECKPOINT_SVM_READY to master.
b. If it is not the first resume, call libxl__checkpoint_devices_preresume().
c. If it is the first resume(resume right after live
preresume, postresume and checkpoint
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_colo.h | 4 +++
tools/libxl/libxl_colo_proxy.c | 62 ++
2 files changed, 66
setup/teardown of COLO proxy module.
we use netlink to communicate with proxy module.
About colo-proxy module:
https://lkml.org/lkml/2015/6/18/32
How to use:
http://wiki.xen.org/wiki/COLO_-_Coarse_Grain_Lock_Stepping
Signed-off-by: Yang Hongyang
Signed-off-by: Wen
Add back channel support to write stream. If the write stream is
a back channel stream, this means the write stream is used by
Secondary to send some records back.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
This is used by primay to read records sent by secondary.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_create.c | 1 +
tools/libxl/libxl_internal.h| 1 +
tools/libxl/libxl_stream_read.c | 27
Use qemu block replication as our block replication solution.
Note that guest must be paused before starting COLO, otherwise,
the disk won't be consistent between primary and secondary.
Signed-off-by: Wen Congyang
Signed-off-by: Yang Hongyang
implement COLO nic subkind.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/hotplug/Linux/Makefile | 1 +
tools/hotplug/Linux/colo-proxy-setup | 135 +++
tools/libxl/Makefile | 1 +
read_record() could be used by primary to read dirty bitmap
record sent by secondary under COLO.
When used by save side, we need to pass the backchannel fd
instead of ctx->fd to read_record(), so we added a fd param to
it.
No functional changes.
Signed-off-by: Yang Hongyang
Usage: disk =
['...,colo,colo-host=xxx,colo-port=xxx,colo-export=xxx,active-disk=xxx,hidden-disk=xxx...']
For QEMU block replication details:
http://wiki.qemu.org/Features/BlockReplication
Signed-off-by: Wen Congyang
Signed-off-by: Yang Hongyang
call the callbacks resume/checkpoint/suspend while secondary vm
status is consistent with primary.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
CC: Andrew Cooper
---
tools/libxc/xc_sr_common.h | 4 +--
We will use qemu block replication, and qemu provides some qmp commands
to prepare replication, start replication, get replication error, and
stop replication. Introduce new API to execute these qmp commands.
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_internal.h |
Read a checkpoint_state and call stream->checkpoint_callback to handle it.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_internal.h| 3 +++
tools/libxl/libxl_stream_read.c | 57
setup and control colo proxy on secondary side
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_colo_restore.c | 28 +---
1 file changed, 25 insertions(+), 3 deletions(-)
diff --git
In COLO mode, both VMs are running, and are considered in sync if the
visible network traffic is identical. After some time, they fall out of
sync.
At this point, the two VMs have definitely diverged. Lets call the
primary dirty bitmap set A, while the secondary dirty bitmap set B.
Sets A and
It is pure refactoring and no functional changes.
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_save_callout.c | 24
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/tools/libxl/libxl_save_callout.c
Under COLO, we are doing checkpoint on demand, if this
callback returns 1, we will take another checkpoint.
0 indicates unexpected error.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxc/include/xenguest.h | 18
After suspend primary vm, get dirty bitmap on secondary vm,
and send pages both dirty on primary/secondary to secondary.
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
CC: Andrew Cooper
---
setup and control colo proxy on primary side
Signed-off-by: Yang Hongyang
Signed-off-by: Wen Congyang
---
tools/libxl/libxl_colo_save.c | 124 +++---
tools/libxl/libxl_internal.h | 1 +
2 files changed,
flight 83298 seabios real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83298/
Failures :-/ but no regressions.
Regressions which are regarded as allowable (not blocking):
test-amd64-amd64-xl-qemuu-win7-amd64 16 guest-stop fail like 80975
Tests which did not succeed, but
flight 83289 xen-unstable real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83289/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-armhf-armhf-xl-credit2 15 guest-start/debian.repeat fail REGR. vs. 82825
Regressions which
>From: Luis R. Rodriguez [mailto:mcg...@kernel.org]
>
>kprobe makes use of two custom sections:
>
>type name beginend
>init.data _kprobe_blacklist __start_kprobe_blacklist __stop_kprobe_blacklist
>text .kprobes.text __kprobes_text_start
This series of commits is a part of a larger project to ensure
people don't reference modular support functions in non-modular
code. Overall there was roughly 5k lines of dead code in the
kernel due to this. So far we've fixed several areas, like tty,
x86, net, ... and we continue to work on
Code that uses no modular facilities whatsoever should not be
sourcing module.h at all, since that header drags in a bunch
of other headers with it.
Similarly, code that is not explicitly using modular facilities
like module_init() but only is declaring module_param setup
variables should be
The Makefile / Kconfig currently controlling compilation here is:
obj-y += grant-table.o features.o balloon.o manage.o preempt.o time.o
[...]
obj-$(CONFIG_XEN_BALLOON) += xen-balloon.o
...with:
drivers/xen/Kconfig:config XEN_BALLOON
drivers/xen/Kconfig:bool "Xen memory
The Kconfig currently controlling compilation of this code is:
arch/x86/xen/Kconfig:config XEN_PVHVM
arch/x86/xen/Kconfig: def_bool y
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading the
The Kconfig currently controlling compilation of this code is:
config XEN_SYS_HYPERVISOR
bool "Create xen entries under /sys/hypervisor"
...meaning that it currently is not being built as a module by anyone.
Lets remove the modular code that is essentially orphaned, so that
when reading
The Makefile / Kconfig currently controlling compilation here is:
obj-y += xenbus_dev_frontend.o
[...]
obj-$(CONFIG_XEN_BACKEND) += xenbus_dev_backend.o
...with:
drivers/xen/Kconfig:config XEN_BACKEND
drivers/xen/Kconfig:bool "Backend driver support"
...meaning that they currently are
flight 83269 linux-3.10 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83269/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-amd64-amd64-xl-qemut-stubdom-debianhvm-amd64-xsm 15
guest-localmigrate/x10 fail REGR. vs. 79602
flight 83274 ovmf real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83274/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-amd64-i386-xl-qemuu-ovmf-amd64 17 guest-start/debianhvm.repeat fail REGR.
vs. 65543
flight 83246 qemu-mainline real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83246/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
test-armhf-armhf-xl-vhd 7 host-ping-check-xen fail REGR. vs. 83006
Regressions which
flight 83212 xen-4.4-testing real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83212/
Failures :-/ but no regressions.
Regressions which are regarded as allowable (not blocking):
test-amd64-i386-xl-qemuu-win7-amd64 16 guest-stop fail like 78789
flight 83210 linux-4.1 real [real]
http://logs.test-lab.xenproject.org/osstest/logs/83210/
Regressions :-(
Tests which did not succeed and are blocking,
including tests which could not be run:
build-amd64-rumpuserxen 6 xen-build fail REGR. vs. 66399
build-i386-rumpuserxen
67 matches
Mail list logo