On 19/10/2018 03:06, Emilio G. Cota wrote:
> Soon we will call cpu_has_work without the BQL.
>
> Cc: David Gibson
> Cc: Alexander Graf
> Cc: qemu-...@nongnu.org
> Signed-off-by: Emilio G. Cota
> ---
> target/ppc/translate_init.inc.c | 77 +++--
> 1 file changed, 73
On Wed, Oct 17, 2018 at 10:26:54AM +0200, Markus Armbruster wrote:
> Calling error_report() in a function that takes an Error ** argument
> is suspicious. add_channel() does that, and then exit()s. Its caller
> main(), via qemu_opts_foreach(), is fine with it, but clean it up
> anyway.
>
> Cc: G
On Wed, Oct 17, 2018 at 10:26:51AM +0200, Markus Armbruster wrote:
> Calling error_report() in a function that takes an Error ** argument
> is suspicious. vnc_init_func() does that, and then fails without
> setting an error. Its caller main(), via qemu_opts_foreach(), is fine
> with it, but clean
On Wed, Oct 17, 2018 at 10:26:50AM +0200, Markus Armbruster wrote:
> From: Fei Li
>
> Signed-off-by: Fei Li
> Cc: Gerd Hoffmann
> Signed-off-by: Markus Armbruster
> Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Gerd Hoffmann
On Wed, Oct 17, 2018 at 10:26:49AM +0200, Markus Armbruster wrote:
> While errors in the keyboard layout named with -k are fatal, errors in
> included files are reported, but otherwise ignored:
>
> $ cat worst
> include bad
> include worse
> $ ls -l bad worse
> ls: cannot acces
On 19/10/2018 08:30, Artem Pisarenko wrote:
>> This is wrong at least for QEMU_CLOCK_HOST.
>> …
>> Reading the host clock here is not protected by the checkpoint.
>> Therefore it may incur the inconsistency when replaying the execution.
>
> That's why I didn't like idea of this patch and asked for
It's perfect valid C to terminate a statement with "," instead of ";" -
it just has a different meaning. Consider this:
#include
int main()
{
if (0)
printf("Hello!\n"),
printf("Good bye!\n");
return 0;
}
At a first glance, you'd expect this program to print "Good b
On 10/18/18 6:05 PM, Emilio G. Cota wrote:
> It will gain a user once we protect more of CPUState under cpu->lock.
>
> This completes the conversion to cpu_mutex_lock/unlock in the file.
>
> Signed-off-by: Emilio G. Cota
> ---
> include/qom/cpu.h | 9 +
> cpus-common.c | 17 +++
On 10/18/18 6:05 PM, Emilio G. Cota wrote:
> We don't pass a pointer to qemu_global_mutex anymore.
>
> Cc: Peter Crosthwaite
> Cc: Richard Henderson
> Signed-off-by: Emilio G. Cota
> ---
> include/qom/cpu.h | 10 --
> cpus-common.c | 2 +-
> cpus.c| 5 -
> 3 files
> …
> This is wrong at least for QEMU_CLOCK_HOST.
> …
> Reading the host clock here is not protected by the checkpoint.
> Therefore it may incur the inconsistency when replaying the execution.
That's why I didn't like idea of this patch and asked for any possible side
effects beforehand. So, here
On 10/18/18 6:05 PM, Emilio G. Cota wrote:
> This lock will soon protect more fields of the struct. Give
> it a more appropriate name.
>
> Cc: Peter Crosthwaite
> Cc: Richard Henderson
> Signed-off-by: Emilio G. Cota
> ---
> include/qom/cpu.h | 5 +++--
> cpus-common.c | 14 +++---
On 10/18/18 6:05 PM, Emilio G. Cota wrote:
> Instead of open-coding it.
>
> While at it, make sure that all accesses to the list are
> performed while holding the list's lock.
>
> Cc: Peter Crosthwaite
> Cc: Richard Henderson
> Signed-off-by: Emilio G. Cota
> ---
> include/qom/cpu.h | 6 +++-
On 10/18/18 3:34 AM, Peter Maydell wrote:
> Hi; I get compile failures, I'm afraid:
>
> FreeBSD's compiler gives warnings:
> In file included from /var/tmp/qemu-test.bVaUEj/accel/tcg/user-exec.c:28:
> /var/tmp/qemu-test.bVaUEj/include/qemu/atomic128.h:148:23: warning:
> unknown attribute 'error' i
From: "Emilio G. Cota"
Reviewed-by: Richard Henderson
Reviewed-by: Alex Bennée
Signed-off-by: Emilio G. Cota
Message-Id: <20181009174557.16125-5-c...@braap.org>
Signed-off-by: Richard Henderson
---
accel/tcg/cputlb.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/acc
Reviewed-by: Emilio G. Cota
Signed-off-by: Richard Henderson
---
target/ppc/helper.h | 2 +-
target/ppc/mem_helper.c | 33 ++--
target/ppc/translate.c | 115 +---
3 files changed, 88 insertions(+), 62 deletions(-)
diff --git a/target/ppc/helpe
Reviewed-by: Emilio G. Cota
Signed-off-by: Richard Henderson
---
target/arm/helper-a64.c | 259 +---
1 file changed, 133 insertions(+), 126 deletions(-)
diff --git a/target/arm/helper-a64.c b/target/arm/helper-a64.c
index 7f6ad3000b..6e4e1b8a19 100644
--- a/t
Philippe Mathieu-Daudé writes:
> When using an incorrect backend for the debugcon, QEMU exits silently
> without any error indication, which is confusing.
> Add a message that the character backend is invalid.
>
> Signed-off-by: Philippe Mathieu-Daudé
Queued, thanks!
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
target/s390x/mem_helper.c | 40 +++
target/s390x/translate.c | 25 +---
2 files changed, 38 insertions(+), 27 deletions(-)
diff --git a/target/s390x/mem_helper.c b/target
Isolate the computation of an index from an address into a
helper before we change that function.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
[ cota: convert tlb_vaddr_to_host; use atomic_read on addr_write ]
Signed-off-by: Emilio G. Cota
Message-Id: <20181009175129.17888-2-c...@b
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
target/s390x/mem_helper.c | 128 ++
1 file changed, 61 insertions(+), 67 deletions(-)
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index e106f61b4e..b5858d2fa2 100644
--
Reviewed-by: Emilio G. Cota
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/i386/mem_helper.c | 9 -
1 file changed, 4 insertions(+), 5 deletions(-)
diff --git a/target/i386/mem_helper.c b/target/i386/mem_helper.c
index 30c26b9d9c..6cc53bcb40 100644
---
GCC7+ will no longer advertise support for 16-byte __atomic operations
if only cmpxchg is supported, as for x86_64. Fortunately, x86_64 still
has support for __sync_compare_and_swap_16 and we can make use of that.
AArch64 does not have, nor ever has had such support, so open-code it.
Reviewed-by:
From: "Emilio G. Cota"
As far as I can tell tlb_flush does not need to be called
this early. tlb_flush is eventually called after the CPU
has been realized.
This change paves the way to the introduction of tlb_init,
which will be called from cpu_exec_realizefn.
Cc: Guan Xuetao
Reviewed-by: Ale
When op raises an exception, it may not have initialized the output
temps that would be written back by wout or cout.
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
target/s390x/translate.c | 20 +++-
1 file changed, 15 insertions(+), 5 deletions(-)
diff --
From: "Emilio G. Cota"
Updates can come from other threads, so readers that do not
take tlb_lock must use atomic_read to avoid undefined
behaviour (UB).
This completes the conversion to tlb_lock. This conversion results
on average in no performance loss, as the following experiments
(run on an I
From: "Emilio G. Cota"
Currently we rely on atomic operations for cross-CPU invalidations.
There are two cases that these atomics miss: cross-CPU invalidations
can race with either (1) vCPU threads flushing their TLB, which
happens via memset, or (2) vCPUs calling tlb_reset_dirty on their TLB,
wh
From: "Emilio G. Cota"
As far as I can tell tlb_flush does not need to be called
this early. tlb_flush is eventually called after the CPU
has been realized.
This change paves the way to the introduction of tlb_init,
which will be called from cpu_exec_realizefn.
Reviewed-by: Alex Bennée
Reviewe
Reviewed-by: Emilio G. Cota
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Richard Henderson
---
target/arm/helper-a64.c| 16
target/arm/translate-a64.c | 38 ++
2 files changed, 26 insertions(+), 28 deletions(-)
diff --git a/target/
Reviewed-by: David Hildenbrand
Signed-off-by: Richard Henderson
---
target/s390x/mem_helper.c | 92 +--
1 file changed, 41 insertions(+), 51 deletions(-)
diff --git a/target/s390x/mem_helper.c b/target/s390x/mem_helper.c
index bacae4f503..e106f61b4e 100644
--
From: "Emilio G. Cota"
This plugs two 4-byte holes in 64-bit.
Signed-off-by: Emilio G. Cota
Message-Id: <20181010144853.13005-4-c...@braap.org>
Signed-off-by: Richard Henderson
---
tcg/tcg.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcg/tcg.h b/tcg/tcg.h
index f9f123
0100)
are available in the Git repository at:
https://github.com/rth7680/qemu.git tags/pull-tcg-20181018
for you to fetch changes up to 403f290c0603f35f2d09c982bf5549b6d0803ec1:
cputlb: read CPUTLBEntry.addr_write atomically (2018-10-18 19:4
From: "Emilio G. Cota"
When we implemented per-vCPU TCG contexts, we forgot to also
distribute the tcg_time counter, which has remained as a global
accessed without any serialization, leading to potentially missed
counts.
Fix it by distributing the field over the TCG contexts, embedding
it into
From: "Emilio G. Cota"
Paves the way for the addition of a per-TLB lock.
Reviewed-by: Alex Bennée
Reviewed-by: Richard Henderson
Signed-off-by: Emilio G. Cota
Message-Id: <20181009174557.16125-4-c...@braap.org>
Signed-off-by: Richard Henderson
---
include/exec/exec-all.h | 8
accel
From: "Emilio G. Cota"
We forgot to initialize n in commit 15fa08f845 ("tcg: Dynamically
allocate TCGOps", 2017-12-29).
Reviewed-by: Philippe Mathieu-Daudé
Signed-off-by: Emilio G. Cota
Message-Id: <20181010144853.13005-3-c...@braap.org>
Signed-off-by: Richard Henderson
---
tcg/tcg.c | 2 +-
From: "Emilio G. Cota"
Consistently access u16.high with atomics to avoid
undefined behaviour in MTTCG.
Note that icount_decr.u16.low is only used in icount mode,
so regular accesses to it are OK.
Reviewed-by: Richard Henderson
Signed-off-by: Emilio G. Cota
Message-Id: <20181010144853.13005-2
Rather than test NOCHAIN before linking, do not emit the
goto_tb opcode at all. We already do this for goto_ptr.
Signed-off-by: Richard Henderson
---
accel/tcg/cpu-exec.c | 2 +-
tcg/tcg-op.c | 9 -
2 files changed, 9 insertions(+), 2 deletions(-)
diff --git a/accel/tcg/cpu-exe
> From: Artem Pisarenko [mailto:artem.k.pisare...@gmail.com]
> Removes redundant checkpoints in replay log when there are no expired timers
> in timers list,
> associated with corresponding clock (i.e. no rr events associated with
> current clock value).
> This also improves performance in rr mod
"Dr. David Alan Gilbert" writes:
> * Markus Armbruster (arm...@redhat.com) wrote:
>> "Dr. David Alan Gilbert" writes:
>>
>> > * Markus Armbruster (arm...@redhat.com) wrote:
>> >> "Dr. David Alan Gilbert" writes:
>> >>
>> >> > * Markus Armbruster (arm...@redhat.com) wrote:
>> >> >> We sometime
On 19/10/2018 07:20, Li Qiang wrote:
> This patch set contains some trivial issue such as
> QOMConvetion, typo and resources leak in vfio.
>
> Li Qiang (7):
> vfio-pci: make "vfio-pci-nohotplug" as MACRO
> vfio: ap-device: make it more QOMConventional
> vfio: drop TYPE_FOO MACRO in VMStateDe
> As a start of future refactoring, would you mind moving all this code to
> hw/timer/rtc.c or rtc.c? It was somewaht generic before, but now it's
> very tied to -rtc.
Yes, sure.
On 19/10/2018 07:20, Li Qiang wrote:
> Signed-off-by: Li Qiang
> ---
> hw/vfio/platform.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
> index ba03dcd..5992fe7 100644
> --- a/hw/vfio/platform.c
> +++ b/hw/vfio/platform.c
> @
Signed-off-by: Li Qiang
---
hw/vfio/platform.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index ba19143..e9d9e80 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -668,7 +668,7 @@ static void vfio_platform_realize(Devic
Signed-off-by: Li Qiang
---
hw/vfio/platform.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index 6a4fd7b..ba19143 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -518,6 +518,7 @@ static int vfio_populate_device(VFIODevice *vbasedev, Erro
Signed-off-by: Li Qiang
---
hw/vfio/pci.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/vfio/pci.c b/hw/vfio/pci.c
index 8b73582..1f05b57 100644
--- a/hw/vfio/pci.c
+++ b/hw/vfio/pci.c
@@ -40,6 +40,8 @@
#define TYPE_VFIO_PCI "vfio-pci"
#define PCI_VFIO(obj)OBJ
Signed-off-by: Li Qiang
---
hw/vfio/platform.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index ba03dcd..5992fe7 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -72,7 +72,7 @@ static VFIOINTp *vfio_init_intp(VFIODevi
As the vmstate structure names aren't related with
the QOM type names.
Per Peter's mail:
-->https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg02175.html
Signed-off-by: Li Qiang
---
hw/vfio/amd-xgbe.c | 2 +-
hw/vfio/ap.c| 2 +-
hw/vfio/calxeda-xgmac.c | 2 +-
hw/vfio/ccw.
Signed-off-by: Li Qiang
---
hw/vfio/platform.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/hw/vfio/platform.c b/hw/vfio/platform.c
index 5992fe7..6a4fd7b 100644
--- a/hw/vfio/platform.c
+++ b/hw/vfio/platform.c
@@ -80,6 +80,7 @@ static VFIOINTp *vfio_init_intp(VFIODevice *vbasedev,
As the documentation says "use TYPE_FOO constants"
This also changes the parent of ap-device's MACRO.
Signed-off-by: Li Qiang
---
hw/s390x/ap-device.c | 2 +-
hw/vfio/ap.c | 12 ++--
include/hw/s390x/ap-device.h | 4 ++--
3 files changed, 9 insertions(+), 9 dele
This patch set contains some trivial issue such as
QOMConvetion, typo and resources leak in vfio.
Li Qiang (7):
vfio-pci: make "vfio-pci-nohotplug" as MACRO
vfio: ap-device: make it more QOMConventional
vfio: drop TYPE_FOO MACRO in VMStateDescription
vfio: paltform: fix a typo
vfio: plat
Cc'ing qemu-trivial@
On 11/10/2018 23:48, Marc-André Lureau wrote:
> On Thu, Oct 11, 2018 at 9:13 PM Philippe Mathieu-Daudé
> wrote:
>>
>> When using an incorrect backend for the debugcon, QEMU exits silently
>> without any error indication, which is confusing.
>> Add a message that the character
On 11/10/2018 22:52, Richard Henderson wrote:
> For a sequence of loads or stores from a single register,
> little-endian operations can be promoted to an 8-byte op.
> This can reduce the number of operations by a factor of 8.
>
> Signed-off-by: Richard Henderson
Reviewed-by: Philippe Mathieu-Da
Ping for review before I send v3?
v3:
- fix patch 4 "Add test_sh4_r2d in BootLinuxConsole"
- drop patch 5? "Add test_sh4_r2d in BootLinuxTracing"
On Sat, Oct 13, 2018 at 5:15 PM Philippe Mathieu-Daudé wrote:
> Another neanderthal approach to add multi-arch acceptance tests using Avocado.
>
> I c
On 19/10/2018 03:56, Richard Henderson wrote:
> Since QEMU does not implement ASIDs, changes to the ASID must flush the
> tlb. However, if the ASID does not change there is no reason to flush.
>
> In testing a boot of the Ubuntu installer to the first menu, this reduces
> the number of flushes by
The e1000 emulation silently discards RX packets if there's
insufficient space in the ring buffer. This leads to errors
on higher-level protocols in the guest, with no indication
about the error cause.
This patch increments the "Missed Packets Count" (MPC) and
"Receive No Buffers Count" (RNBC) HW
In rtl8139_do_receive(), we try to assign size_ to size which converts
from size_t to integer. This will cause troubles when size_ is greater
INT_MAX, this will lead a negative value in size and it can then pass
the check of size < MIN_BUF_SIZE which may lead out of bound access of
for both buf and
There should not be a reason for passing a packet size greater than
INT_MAX. It's usually a hint of bug somewhere, so ignore packet size
greater than INT_MAX in qemu_deliver_packet_iov()
CC: qemu-sta...@nongnu.org
Reported-by: Daniel Shapira
Reviewed-by: Michael S. Tsirkin
Signed-off-by: Jason W
In ne2000_receive(), we try to assign size_ to size which converts
from size_t to integer. This will cause troubles when size_ is greater
INT_MAX, this will lead a negative value in size and it can then pass
the check of size < MIN_BUF_SIZE which may lead out of bound access of
for both buf and buf
In pcnet_receive(), we try to assign size_ to size which converts from
size_t to integer. This will cause troubles when size_ is greater
INT_MAX, this will lead a negative value in size and it can then pass
the check of size < MIN_BUF_SIZE which may lead out of bound access
for both buf and buf1.
From: zhanghailiang
COLO thread may sleep at qemu_sem_wait(&s->colo_checkpoint_sem),
while failover works begin, It's better to wakeup it to quick
the process.
Signed-off-by: zhanghailiang
Reviewed-by: Dr. David Alan Gilbert
Signed-off-by: Jason Wang
---
migration/colo.c | 8
1 file
From: Zhang Chen
This diagram make user better understand COLO.
Suggested by Markus Armbruster.
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by: Jason Wang
---
docs/COLO-FT.txt | 34 ++
1 file changed, 34 insertions(+)
diff --git a/docs/COLO
From: Zhang Chen
After one round of checkpoint, the states between PVM and SVM
become consistent, so it is unnecessary to adjust the sequence
of net packets for old connections, besides, while failover
happens, filter-rewriter will into failover mode that needn't
handle the new TCP connection.
S
From: liujunjie
Before, we did not clear callback like handle_output when delete
the virtqueue which may result be segmentfault.
The scene is as follows:
1. Start a vm with multiqueue vhost-net,
2. then we write VIRTIO_PCI_GUEST_FEATURES in PCI configuration to
triger multiqueue disable in this v
From: Zhang Chen
Libvirt or other high level software can use this command query colo status.
You can test this command like that:
{'execute':'query-colo-status'}
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by: Jason Wang
---
migration/colo.c| 21 +
From: Zhang Chen
Filter needs to process the event of checkpoint/failover or
other event passed by COLO frame.
Signed-off-by: zhanghailiang
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by: Jason Wang
---
include/net/filter.h | 5 +
net/filter.c | 17 ++
From: zhanghailiang
Notify all net filters about the checkpoint and failover event.
Signed-off-by: zhanghailiang
Reviewed-by: Dr. David Alan Gilbert
Signed-off-by: Jason Wang
---
migration/colo.c | 15 +++
1 file changed, 15 insertions(+)
diff --git a/migration/colo.c b/migratio
From: Zhang Chen
Suggested by Markus Armbruster rename COLO unknown mode to none mode.
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Reviewed-by: Eric Blake
Reviewed-by: Markus Armbruster
Signed-off-by: Jason Wang
---
migration/colo-failover.c | 2 +-
migration/colo.c | 2
From: Thomas Huth
When using the "-device" option, the property is called "mac".
"macaddr" is only used for the legacy "-net nic" option.
Reported-by: Harald Hoyer
Reviewed-by: Markus Armbruster
Signed-off-by: Thomas Huth
Signed-off-by: Jason Wang
---
qemu-options.hx | 2 +-
1 file changed,
From: Zhang Chen
There are several stages during loadvm/savevm process. In different stage,
migration incoming processes different types of sections.
We want to control these stages more accuracy, it will benefit COLO
performance, we don't have to save type of QEMU_VM_SECTION_START
sections every
From: zhanghailiang
If some errors happen during VM's COLO FT stage, it's important to
notify the users of this event. Together with 'x-colo-lost-heartbeat',
Users can intervene in COLO's failover work immediately.
If users don't want to get involved in COLO's failover verdict,
it is still necess
From: Zhang Chen
We record the address of the dirty pages that received,
it will help flushing pages that cached into SVM.
Here, it is a trick, we record dirty pages by re-using migration
dirty bitmap. In the later patch, we will start the dirty log
for SVM, just like migration, in this way, we
From: Zhang Chen
We need to know if migration is going into COLO state for
incoming side before start normal migration.
Instead by using the VMStateDescription to send colo_state
from source side to destination side, we use MIG_CMD_ENABLE_COLO
to indicate whether COLO is enabled or not.
Signed-
From: zhanghailiang
Don't need to flush all VM's ram from cache, only
flush the dirty pages since last checkpoint
Signed-off-by: Li Zhijian
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by: zhanghailiang
Reviewed-by: Dr. David Alan Gilbert
Signed-off-by: Jason Wang
---
mi
From: Zhang Chen
It's a good idea to use notifier to notify COLO frame of
inconsistent packets comparing.
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by: zhanghailiang
Signed-off-by: Jason Wang
---
net/colo-compare.c | 37 ++---
net/colo-co
From: Zhang Chen
We should not load PVM's state directly into SVM, because there maybe some
errors happen when SVM is receving data, which will break SVM.
We need to ensure receving all data before load the state into SVM. We use
an extra memory to cache these data (PVM's ram). The ram cache in
From: Zhang Chen
During the time of VM's running, PVM may dirty some pages, we will transfer
PVM's dirty pages to SVM and store them into SVM's RAM cache at next checkpoint
time. So, the content of SVM's RAM cache will always be same with PVM's memory
after checkpoint.
Instead of flushing all co
From: Zhang Chen
Make sure master start block replication after slave's block
replication started.
Besides, we need to activate VM's blocks before goes into
COLO state.
Signed-off-by: zhanghailiang
Signed-off-by: Li Zhijian
Signed-off-by: Zhang Chen
Signed-off-by: Zhang Chen
Signed-off-by:
The following changes since commit 77f7c747193662edfadeeb3118d63eed0eac51a6:
Merge remote-tracking branch
'remotes/huth-gitlab/tags/pull-request-2018-10-17' into staging (2018-10-18
13:40:19 +0100)
are available in the git repository at:
https://github.com/jasowang/qemu.git tags/net-pull-r
From: Zhang Chen
While do checkpoint, we need to flush all the unhandled packets,
By using the filter notifier mechanism, we can easily to notify
every compare object to do this process, which runs inside
of compare threads as a coroutine.
Signed-off-by: zhanghailiang
Signed-off-by: Zhang Chen
From: Zhang Chen
We add almost full TCP state machine in filter-rewriter, except
TCPS_LISTEN and some simplify in VM active close FIN states.
The reason for this simplify job is because guest kernel will track
the TCP status and wait 2MSL time too, if client resend the FIN packet,
guest will rese
From: Zhang Chen
For COLO FT, both the PVM and SVM run at the same time,
only sync the state while it needs.
So here, let SVM runs while not doing checkpoint, change
DEFAULT_MIGRATE_X_CHECKPOINT_DELAY to 200*100.
Besides, we forgot to release colo_checkpoint_semd and
colo_delay_timer, fix them
Kindly ping. :)
Main discuss whether adding the Error for qemu_thread_create() or not.
For details, please see blow:
On 10/17/2018 04:17 PM, Fei Li wrote:
Sorry for the late reply! Omitted this one..
On 10/12/2018 09:26 PM, Markus Armbruster wrote:
Fei Li writes:
On 10/12/2018 03:56 PM, M
On 10/18/18 7:30 AM, Eric Auger wrote:
> +#define SZ_1G (1024ULL * 1024 * 1024)
already defines GiB.
r~
On Thu, Oct 18, 2018 at 11:48 AM Laurent Vivier wrote:
>
> Le 08/10/2018 à 18:35, Cortland Tölva a écrit :
> > Userspace submits a USB Request Buffer to the kernel, optionally
> > discards it, and finally reaps the URB. Thunk buffers from target
> > to host and back.
> >
> > Tested by running an
While installing AArch64 Ubuntu into a new vm,
I happened to notice that tlb_flush+memset was
consuming 25% of the total runtime.
This patch set reduces that overhead to 10%.
Full tlb flushes are down to 11k from 1.8M,
when pausing the installation at the first menu.
Changes since v1:
* Rename
The EL3 version of this register does not include an ASID,
and so the tlb_flush performed by vmsa_ttbr_write is not needed.
Reviewed-by: Aaron Lindsay
Signed-off-by: Richard Henderson
---
target/arm/helper.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/arm/helper.c
Only the EL0 and EL1 TLBs are affected by the EL1 register,
so flush only 2 of the 8 TLBs.
In testing a boot of the Ubuntu installer to the first menu, this
accounts for nearly all of the full tlb flushes: all but 11k of
the 1.2M instances without the patch.
Signed-off-by: Richard Henderson
---
Since QEMU does not implement ASIDs, changes to the ASID must flush the
tlb. However, if the ASID does not change there is no reason to flush.
In testing a boot of the Ubuntu installer to the first menu, this reduces
the number of flushes by 30%, or nearly 600k instances.
Reviewed-by: Aaron Lind
Soon we will call cpu_has_work without the BQL.
Cc: Max Filippov
Signed-off-by: Emilio G. Cota
---
target/xtensa/cpu.c | 20 +++-
1 file changed, 19 insertions(+), 1 deletion(-)
diff --git a/target/xtensa/cpu.c b/target/xtensa/cpu.c
index d4ca35e6cc..5cb881f89b 100644
--- a/tar
This yields sizable scalability improvements, as the below results show.
Host: Two Intel E5-2683 v3 14-core CPUs at 2.00 GHz (Haswell)
Workload: Ubuntu 18.04 ppc64 compiling the linux kernel with
"make -j N", where N is the number of cores in the guest.
Speedup vs a single
From: Paolo Bonzini
Cc: Cornelia Huck
Cc: Richard Henderson
Cc: Alexander Graf
Cc: David Hildenbrand
Cc: qemu-s3...@nongnu.org
Reviewed-by: David Hildenbrand
Reviewed-by: Richard Henderson
Reviewed-by: Cornelia Huck
Signed-off-by: Paolo Bonzini
Signed-off-by: Emilio G. Cota
---
target/s
Cc: Cornelia Huck
Cc: Christian Borntraeger
Cc: Alexander Graf
Cc: Richard Henderson
Cc: David Hildenbrand
Cc: qemu-s3...@nongnu.org
Signed-off-by: Emilio G. Cota
---
hw/intc/s390_flic.c | 2 +-
target/s390x/cpu.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/int
Soon we will call cpu_has_work without the BQL.
Cc: David Gibson
Cc: Alexander Graf
Cc: qemu-...@nongnu.org
Signed-off-by: Emilio G. Cota
---
target/ppc/translate_init.inc.c | 77 +++--
1 file changed, 73 insertions(+), 4 deletions(-)
diff --git a/target/ppc/transl
Cc: Aleksandar Markovic
Cc: Alexander Graf
Cc: Alistair Francis
Cc: Andrzej Zaborowski
Cc: Anthony Green
Cc: Artyom Tarasenko
Cc: Aurelien Jarno
Cc: Bastian Koppelmann
Cc: Christian Borntraeger
Cc: Chris Wulff
Cc: Cornelia Huck
Cc: David Gibson
Cc: David Hildenbrand
Cc: "Edgar E. Igles
Soon we will call cpu_has_work without the BQL.
Cc: Michael Clark
Cc: Palmer Dabbelt
Cc: Sagar Karandikar
Cc: Bastian Koppelmann
Signed-off-by: Emilio G. Cota
---
target/riscv/cpu.c | 21 -
1 file changed, 20 insertions(+), 1 deletion(-)
diff --git a/target/riscv/cpu.c b
Cc: Richard Henderson
Cc: Eduardo Habkost
Signed-off-by: Emilio G. Cota
---
target/i386/cpu.c| 2 +-
target/i386/hax-all.c| 16 +--
target/i386/helper.c | 4 +--
target/i386/hvf/hvf.c| 6 ++--
target/i386/hvf/x86hvf.c | 32 ++
target/i386/kvm.c
Instead of taking the BQL every time we exit the exec loop,
have a per-CPU lock to serialize accesses the the CPU's state.
Differently from the BQL, this lock is uncontended so
acquiring it is cheap.
Cc: Peter Crosthwaite
Cc: Richard Henderson
Signed-off-by: Emilio G. Cota
---
include/qom/cpu
Cc: Guan Xuetao
Signed-off-by: Emilio G. Cota
---
target/unicore32/cpu.c | 2 +-
target/unicore32/softmmu.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/target/unicore32/cpu.c b/target/unicore32/cpu.c
index 2b49d1ca40..65c5334551 100644
--- a/target/unicore32/cpu.c
Cc: Aurelien Jarno
Cc: Aleksandar Markovic
Cc: James Hogan
Signed-off-by: Emilio G. Cota
---
target/mips/cpu.c | 6 +++---
target/mips/kvm.c | 2 +-
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/target/mips/cpu.c b/target/mips/cpu.c
index 497706b669..e30aec6851 100644
--- a/ta
Signed-off-by: Emilio G. Cota
---
include/qom/cpu.h | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/include/qom/cpu.h b/include/qom/cpu.h
index cd66b8828a..ca7d92c360 100644
--- a/include/qom/cpu.h
+++ b/include/qom/cpu.h
@@ -784,9 +784,16 @@ const char *parse_cpu_mode
Some async jobs do not need the BQL.
Cc: Peter Crosthwaite
Cc: Richard Henderson
Signed-off-by: Emilio G. Cota
---
include/qom/cpu.h | 14 ++
cpus-common.c | 39 ++-
2 files changed, 48 insertions(+), 5 deletions(-)
diff --git a/include/qom/
1 - 100 of 473 matches
Mail list logo