于 2013/10/18 17:52, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
stubs/pci-drive-host-add.o is packaged together with /stubs/mon-printf.o
so it would not work normal, remove it.
Signed-off-by: Wenchao Xia
---
stubs/pci-drive-hot-add.c |1 -
1 files changed, 0 insertion
Il 20/10/2013 17:20, Peter Maydell ha scritto:
> CCutil/qemu-thread-posix.o
> util/qemu-thread-posix.c:351:13: warning: implicit declaration of
> function '__sync_exchange' is invalid in
> C99 [-Wimplicit-function-declaration]
> if (atomic_xchg(&ev->value, EV_SET) == EV_BUSY) {
hi.all
can we create complete image or start a vm from a snapshot point
thanks
于 2013/10/18 17:51, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
All existing caller are using *cur_mon as its parameter, and *cur_mon
is an internal variable which used inside monitor.c. This patch reduce
the exposing of details in monitor.c, by introduce a new function
monito
于 2013/10/18 17:46, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
Signed-off-by: Wenchao Xia
---
qobject/qerror.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/qobject/qerror.c b/qobject/qerror.c
index 5b487f3..685167a 100644
--- a/qobject/qerror.c
于 2013/10/18 17:44, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
This remove additional code path about where to print the error,
error_vprintf() is only the controller now, making future change
easier.
The logic is not changed since when cur_mon = NULL, error_vprintf()
will s
于 2013/10/18 19:40, Markus Armbruster 写道:
> Paolo Bonzini writes:
>
>> Il 18/10/2013 03:11, Wenchao Xia ha scritto:
>>> The behavior to set sep brings trouble to modification later,
>>> the logic is not changed by add tailing space in fprintf().
>>>
>>> Signed-off-by: Wenchao Xia
>>> ---
>>> uti
于 2013/10/18 19:22, Markus Armbruster 写道:
> Paolo Bonzini writes:
>
>> Il 18/10/2013 03:11, Wenchao Xia ha scritto:
>>> Signed-off-by: Wenchao Xia
>>> ---
>>> include/qapi/error.h |5 -
>>> qobject/qerror.c |7 ---
>>> util/error.c |6 --
>>> 3 files changed,
于 2013/10/18 20:38, Eric Blake 写道:
On 10/18/2013 03:36 AM, Paolo Bonzini wrote:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
Signed-off-by: Wenchao Xia
---
include/monitor/monitor.h | 38 +-
include/qapi/qmp/qevent.h | 66 +
于 2013/10/18 17:36, Paolo Bonzini 写道:
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
block_int.h already included it.
Signed-off-by: Wenchao Xia
Reviewed-by: Eric Blake
---
block.c |1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/block.c b/block.c
index 2c15e5d..e92a5
Hi folks,
Any more comments?
Thanks,
Wanlong Gao
> As you know, QEMU can't direct it's memory allocation now, this may cause
> guest cross node access performance regression.
> And, the worse thing is that if PCI-passthrough is used,
> direct-attached-device uses DMA transfer between device and
From: "Michael R. Hines"
Just as RDMA has custom routines for saving memory,
this provides us with custom routines for loading memory.
Micro-checkpointing needs this support in order to be able
to handle loading of the latest checkpoint into memory
as they are received from the network.
Signed-
From: "Michael R. Hines"
The capability allows management software to throttle the MC frequency
during VM application transience.
The qemu-file savevm() functions inform the destination that the incoming
traffic is MC-specific traffic and not vanilla live-migration traffic.
Signed-off-by: Micha
From: "Michael R. Hines"
Building on the previous patches, this finally actually
activates protection of the VM by kicking off an MC thread
after the initial live migration completes. The live migration
thread will get destroyed and the MC thread will run and never die.
Signed-off-by: Michael R.
From: "Michael R. Hines"
This implements the core logic, all described in docs/mc.txt
Signed-off-by: Michael R. Hines
---
migration-checkpoint.c | 1589
1 file changed, 1589 insertions(+)
create mode 100644 migration-checkpoint.c
diff --git a/
From: "Michael R. Hines"
In addition to better handling of new QMP statistics associated
with the migration_bitmap and MC performance, we need to transfer
control from the migration thread to the MC thread more cleanly,
which means dynamically allocating the threads and doing
the handoff after th
From: "Michael R. Hines"
Since MC will repeatedly call the pre-existing live migration
call path over and over again (forever), the migration_bitmap
initialization only needs to happen once and the destruction of
the bitmap needs to be avoided in successive checkpoints.
Also, there some addition
From: "Michael R. Hines"
Signed-off-by: Michael R. Hines
---
Makefile.objs | 1 +
configure | 45 +
2 files changed, 46 insertions(+)
diff --git a/Makefile.objs b/Makefile.objs
index 2b6c1fe..15356d6 100644
--- a/Makefile.objs
+++ b/Makefile.ob
From: "Michael R. Hines"
Signed-off-by: Michael R. Hines
---
docs/mc.txt | 261
1 file changed, 261 insertions(+)
create mode 100644 docs/mc.txt
diff --git a/docs/mc.txt b/docs/mc.txt
new file mode 100644
index 000..90888f7
---
From: "Michael R. Hines"
This patch allows the preparation of the migration_bitmap
to be parallelized. For very large VMs, this can take on
the order of 10s of milliseconds, which translates as downtime.
We count the number of cores first, and then handout chunks of
the logdirty bitmap to a thre
From: "Michael R. Hines"
This patch implements RDMA-aware fault tolerance for the VM
using Micro-Checkpointing (to be presented at the KVM Forum).
The breakout of the patches is not ideal and is really meant to
kick things off for review, which will likely extend well past 1.7
and into 1.8 vers
From: "Michael R. Hines"
During micro-checkpointing, the VCPUs get repeatedly paused and
resumed. We need to not freak out when the VM begins micro-checkpointing.
Signed-off-by: Michael R. Hines
---
arch_init.c | 2 +-
cpus.c| 9 -
include/migr
From: "Michael R. Hines"
Signed-off-by: Michael R. Hines
---
docs/rdma.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/docs/rdma.txt b/docs/rdma.txt
index 2aca63b..6d116e2 100644
--- a/docs/rdma.txt
+++ b/docs/rdma.txt
@@ -2,7 +2,6 @@
RDMA Live Migration Specification, Version # 1
===
Saving the VM state is done using bdrv_pwrite. This function may perform
a read-modify-write, which in this case results in data being read from
beyond the end of the virtual disk. Since we are actually trying to
access an area which is not a part of the virtual disk, zero_beyond_eof
has to be set
Since df2a6f29a5, bdrv_co_do_writev increases the total_sectors value of
a growable block devices on writes after the current end. This leads to
the virtual disk apparently growing in qcow2_save_vmstate, which in turn
affects the disk size captured by the internal snapshot taken directly
afterwards
The latest configure invocation was saved in config-host.mak and could
be extracted from that file to recreate the configuration.
Now it is saved in a new file config.status which can be directly executed
to recreate the configuration. The file name and the comments were copied
from GNU autoconf.
On 4 July 2013 16:13, Paolo Bonzini wrote:
> +#ifndef atomic_xchg
> +#ifdef __ATOMIC_SEQ_CST
> +#define atomic_xchg(ptr, i)({ \
> +typeof(*ptr) _new = (i), _old; \
> +__atomic_exchange(ptr, &_new, &_old, __ATOMIC_SEQ_CST); \
> +_ol
now that bdrv_co_discard can handle limits we do not need
the request split logic here anymore.
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block/iscsi.c | 67 +
1 file changed, 25 insertions(+), 42 deletions(-)
diff --git a
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block/iscsi.c | 14 ++
1 file changed, 14 insertions(+)
diff --git a/block/iscsi.c b/block/iscsi.c
index 47b9cc9..c0465aa 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -1367,6 +1367,20 @@ static int iscsi_open(BlockDriver
Signed-off-by: Peter Lieven
---
qemu-img.c|8 +---
qemu-img.texi |5 +
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/qemu-img.c b/qemu-img.c
index 926f0a0..c6eff15 100644
--- a/qemu-img.c
+++ b/qemu-img.c
@@ -100,8 +100,10 @@ static void help(void)
this patch adds a call to completely zero out a block device.
the operation is sped up by checking the block status and
only writing zeroes to the device if they currently do not
return zeroes. optionally the zero writing can be sped up
by setting the flag BDRV_REQ_MAY_UNMAP to emulate the zero
wri
this patch does 2 things:
a) only do additional call outs if BDRV_BLOCK_ZERO is not already set.
b) use the newly introduced bdrv_has_discard_zeroes() to return the
zero state of an unallocated block. the used callout to
bdrv_has_zero_init() is only valid right after bdrv_create.
Reviewed-by
Signed-off-by: Peter Lieven
---
block/raw_bsd.c |1 +
1 file changed, 1 insertion(+)
diff --git a/block/raw_bsd.c b/block/raw_bsd.c
index b0dd23f..49ac18c 100644
--- a/block/raw_bsd.c
+++ b/block/raw_bsd.c
@@ -150,6 +150,7 @@ static int raw_open(BlockDriverState *bs, QDict *options,
int fla
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block.c | 37 -
1 file changed, 36 insertions(+), 1 deletion(-)
diff --git a/block.c b/block.c
index 0c0b0ac..b28dd42 100644
--- a/block.c
+++ b/block.c
@@ -4234,6 +4234,11 @@ static void coroutine_fn
If the target has_zero_init = 0, but supports efficiently
writing zeroes by unmapping we call bdrv_make_zero to
avoid fully allocating the target. This currently
is designed especially for iscsi.
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
qemu-img.c | 10 +-
1 file change
This adds 2 wrappers to read the unallocated_blocks_are_zero and
can_write_zeroes_with_unmap info from the BDI. The wrappers are
required to check for the existence of a backing_hd and
if the devices are opened with the correct flags.
Signed-off-by: Peter Lieven
---
block.c | 30
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block/iscsi.c | 59 +
1 file changed, 59 insertions(+)
diff --git a/block/iscsi.c b/block/iscsi.c
index c0465aa..1845fc8 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -56,6 +56,
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block.c | 65 +++
1 file changed, 49 insertions(+), 16 deletions(-)
diff --git a/block.c b/block.c
index 0601b02..0c0b0ac 100644
--- a/block.c
+++ b/block.c
@@ -2703,32 +2703,65
this patch adds BlockLimits which introduces discard and write_zeroes
limits and alignment information to the BlockDriverState.
Signed-off-by: Peter Lieven
---
include/block/block_int.h | 17 +
1 file changed, 17 insertions(+)
diff --git a/include/block/block_int.h b/include/b
Signed-off-by: Peter Lieven
---
block/iscsi.c |9 +
1 file changed, 9 insertions(+)
diff --git a/block/iscsi.c b/block/iscsi.c
index a2a961e..1dbbcad 100644
--- a/block/iscsi.c
+++ b/block/iscsi.c
@@ -1506,6 +1506,14 @@ out:
return ret;
}
+static int iscsi_get_info(BlockDrive
Signed-off-by: Peter Lieven
---
include/block/block.h | 16
1 file changed, 16 insertions(+)
diff --git a/include/block/block.h b/include/block/block.h
index 1f30a56..5fbab01 100644
--- a/include/block/block.h
+++ b/include/block/block.h
@@ -18,6 +18,22 @@ typedef struct Block
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block-migration.c |3 ++-
block.c |4
block/backup.c|2 +-
include/block/block.h |7 +++
4 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/block-migration.c b/block-migration.
this patch adds the ability for targets to stay sparse during
block migration (if the zero_blocks capability is set) and qemu-img convert
even if the target does not have has_zero_init = 1.
the series was especially developed for iSCSI, but it should also work
with other drivers with little or no
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block.c |5 -
include/block/block.h |5 +
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/block.c b/block.c
index fd05a80..eb11a07 100644
--- a/block.c
+++ b/block.c
@@ -51,11 +51,6 @@
#define
Reviewed-by: Eric Blake
Signed-off-by: Peter Lieven
---
block-migration.c |2 +-
block.c | 20 +++-
block/backup.c|3 ++-
block/qcow2-cluster.c |2 +-
block/qcow2.c |2 +-
block/qed.c |3 ++-
This patch factorizes some duplicate code into a new function,
sotranslate_out(). This function perform the address translation when a
packet is transmitted to the host network. If the paquet is destinated
to the host, the loopback address is used, and if the paquet is
destinated to the virtual DNS
This patchs adds parameters to manage some new options in the qemu -net
command.
Slirp IPv6 address, network prefix, and DNS IPv6 address can be given in
argument to the qemu command.
Defaults parameters are respectively fc00::1, fc00::, /64 and fc00::2.
Signed-off-by: Yann Bordenave
---
net/sli
Basically, this patch replaces "arp" by "resolution" every time "arp"
means "mac resolution" and not specifically ARP.
Some indentation problems are solved in functions that will be modified
in the next patches (ip_input…).
In if_encap, a switch is added to prepare for the IPv6 case. Some code
is
This patch replaces foreign and local address/port couples in Socket
structure by 2 sockaddr_storage which can be casted in sockaddr_in or
sockaddr_in6.
Direct access to address and port is still possible thanks to some
\#define, so retrocompatibility of the existing code is assured.
The ss_family
This patch adds IPv6 case in TCP functions refactored by the last
patches.
This also adds IPv6 pseudo-header in tcpiphdr structure.
Finally, tcp_input() is called by ip6_input().
Signed-off-by: Guillaume Subiron
Signed-off-by: Samuel Thibault
---
slirp/ip6_input.c | 4 ++--
slirp/tcp.h
This patch factorizes the tcpiphdr structure to put the IPv4 fields in
an union, for addition of version 6 in further patch.
Using some macros, retrocompatibility of the existing code is assured.
This patch also fixes the SLIRP_MSIZE and margin computation in various
functions, and makes them comp
This patch adds the functions needed to handle IPv6 packets. ICMPv6 and
NDP headers are implemented.
Slirp is now able to send NDP Router or Neighbor Advertisement when it
receives Router or Neighbor Solicitation. Using a 64bit-sized IPv6
prefix, the guest is now able to perform stateless autoconf
Basically, this patch adds some switch in various TCP functions to
prepare them for the IPv6 case.
To have something to "switch" in tcp_input() and tcp_respond(), a new
argument is used to give them the sa_family of the addresses they are
working on.
Signed-off-by: Guillaume Subiron
---
slirp/i
This patch adds udp6_input() and udp6_output().
It also adds the IPv6 case in sorecvfrom().
Finally, udp_input() is called by ip6_input().
Signed-off-by: Guillaume Subiron
---
slirp/Makefile.objs | 2 +-
slirp/ip6_input.c | 3 +-
slirp/socket.c | 7 ++-
slirp/udp.h | 5 ++
Disambiguation : icmp_error is renamed into icmp_send_error, since it
doesn't manage errors, but only sends ICMP Error messages.
Adding icmp6_send_error to send ICMPv6 Error messages. This function is
simpler than the v4 version.
Adding some calls in various functions to send ICMP errors, when a
r
A sa_family_t is now passed in argument to udp_attach instead of using a
hardcoded "AF_INET" to call qemu_socket().
Signed-off-by: Guillaume Subiron
---
slirp/ip_icmp.c | 2 +-
slirp/udp.c | 7 ---
slirp/udp.h | 2 +-
3 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/sli
This patch makes solookup() compatible with all address family. Also,
this function was only compatible with TCP. Having the socket list in
argument, it is now compatible with UDP too. Finally, some optimization
code is factorized inside the function (the function look at the last
returned result b
Before this patch, if sosendto fails, udp_input is executed as if the
packet was sent. This could cause memory leak.
This patch adds a goto bad to cut the execution of this function.
Signed-off-by: Guillaume Subiron
---
slirp/udp.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/slirp/udp.c
This patch simply adds a sa_family_t argument to remove the hardcoded
"AF_INET" in the call of qemu_socket().
Signed-off-by: Guillaume Subiron
---
slirp/slirp.h | 2 +-
slirp/tcp_input.c | 3 ++-
slirp/tcp_subr.c | 5 +++--
3 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/slir
This patch adds an IPv6 address to the DNS relay. in6_equal_dns() is
developed using this Slirp attribute.
sotranslate_in/out() are also updated to manage the IPv6 case so the
guest can be able to join the host using one of the Slirp addresses.
Signed-off-by: Guillaume Subiron
---
slirp/ip6.h
This patch adds SCALE_S, timer_new_s(), and qemu_clock_get_s in qemu/timer.h to
manage second-scale timers.
Signed-off-by: Guillaume Subiron
Signed-off-by: Samuel Thibault
---
include/qemu/timer.h | 32
1 file changed, 32 insertions(+)
diff --git a/include/qemu
We have developed IPv6 in Qemu -net user mode.
These patches add ICMPv6, NDP, and make UDP and TCP compatible with
IPv6. We have made some refactoring to make current code compatible
with IPv6.
Some patches, like 2 and 13, can be reviewed using
"interdiff -w /dev/null patchfile"
to get rid o
62 matches
Mail list logo