If the user set disable smm by '-machine smm=off', we
should not register smram_listener so that we can
avoid waster memory in kvm since the added sencond
address space.
Meanwhile we should assign value of the global kvm_state
before invoking the kvm_arch_init(), because
pc_machine_is_smm_enabled(
ioh3420_interrupts_init() and its callers rp_realize() fill error
message to local_err, then propagate it to errp by error_propagate(),
which is not necessary. So eliminate it and pass errp directly instead
of local_err. Of course, error_propagate() also has been removed.
Signed-off-by: Mao Zhongy
On 05/26/2017 09:33 PM, Eric Blake wrote:
On 05/26/2017 06:58 AM, Mao Zhongyi wrote:
In the subject: s/porpagate/propagate/
ioh3420_interrupts_init() and its callers rp_realize() fill error
message to local_err, then propagate it to errp by error_porpagate(),
and again
OK, I see.
Thanks
If a non-NBD client connects to qemu-nbd, we would end up with
a SIGSEGV in nbd_cilent_put() because we were trying to
unregister the client's association to the export, even though
we skipped inserting the client into that list. Easy trigger
in two terminals:
$ qemu-nbd -p 30001 --format=raw fil
On 05/26/2017 07:03 PM, Paolo Bonzini wrote:
Can you send v2 that integrates this in rtc-test.c?
Really smart, have posted the v2 out, please review.
Thank you, Paolo!
From: Xiao Guangrong
It tests the accuracy of rtc periodic timer which is recently
improved & fixed by:
mc146818rtc: precisely count the clock for periodic timer
(commit id has not been decided yet)
Changelog in v2:
integrate it with rtc-test by using clock_step_next() to inquire
the t
On Fri, May 26, 2017 at 7:21 PM, Igor Mammedov wrote:
> On Fri, 26 May 2017 17:21:05 +0800
> Li Zhang wrote:
>
>> From: Li Zhang
>>
>> virt machine doesn't support hot_add_cpu interface. This patchset is to
>> implement
>> hot_add_cpu interface. A CPU can be added by QMP command with QEMU monit
On 05/26/17 08:25 -0700, Dan Williams wrote:
> On Fri, May 26, 2017 at 7:38 AM, Daniel P. Berrange
> wrote:
> > On Thu, May 25, 2017 at 08:34:23PM -0700, Dan Williams wrote:
> >> On Thu, May 25, 2017 at 7:32 PM, Haozhong Zhang
> >> wrote:
> >> > Applications in Linux guest that use device-dax ne
On 05/26/17 15:55 -0300, Eduardo Habkost wrote:
> On Fri, May 26, 2017 at 07:24:26AM -0700, Dan Williams wrote:
> > On Fri, May 26, 2017 at 12:16 AM, Haozhong Zhang
> > wrote:
> > > On 05/26/17 07:05 +, Marc-André Lureau wrote:
> > >> Hi
> > >>
> > >> On Fri, May 26, 2017 at 10:51 AM Haozhong
On Tue, May 16, 2017 at 8:38 AM, Subbaraya Sundeep
wrote:
> Emulated Emcraft's Smartfusion2 System On Module starter
> kit.
>
> Signed-off-by: Subbaraya Sundeep
> ---
> hw/arm/Makefile.objs | 1 +
> hw/arm/msf2-som.c| 89
>
> 2 files cha
On Tue, May 16, 2017 at 8:38 AM, Subbaraya Sundeep
wrote:
> Smartfusion2 SoC has hardened Microcontroller subsystem
> and flash based FPGA fabric. This patch adds support for
> Microcontroller subsystem in the SoC.
>
> Signed-off-by: Subbaraya Sundeep
> ---
> default-configs/arm-softmmu.mak |
Sent another patch that does a better job of toggling caps-lock. I couldn't
make it fail with the old patch but I think the new patch is somewhat
better.
Ian
On Tue, May 23, 2017 at 11:17 PM Gerd Hoffmann wrote:
> Hi,
>
> > After a little more experimentation I think that the approach in this
I had two problems with QEMU on macOS:
1) Sometimes when alt-tabbing to QEMU it would act as if the 'a' key
was pressed so I'd get 'a'.
2) Using Sikuli to programatically send keys to the QEMU window text
like "foo_bar" would come out as "fooa-bar".
They looked similar and af
On 05/24/2017 02:34 AM, Fam Zheng wrote:
On Wed, 05/24 13:21, Fam Zheng wrote:
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
index 6ddc6e4c2a..68cca25f89 100755
--- a/tests/docker/docker.py
+++ b/tests/docker/docker.py
@@ -237,6 +237,11 @@ class BuildCommand(SubCommand):
On 05/24/2017 02:24 AM, Fam Zheng wrote:
On Sun, 05/21 00:29, Philippe Mathieu-Daudé wrote:
Signed-off-by: Philippe Mathieu-Daudé
---
tests/docker/docker.py | 15 ---
1 file changed, 12 insertions(+), 3 deletions(-)
diff --git a/tests/docker/docker.py b/tests/docker/docker.py
inde
David Gibson wrote on 05/13/2017 02:59:16
AM:
> From: David Gibson
> On Fri, May 12, 2017 at 09:34:33AM -0500, alar...@ddci.com wrote:
> > David Gibson wrote on 05/12/2017
01:52:04
Sorry for the long delay getting back to you. I was out of town for a
while.
> > > > +}
> > > > +uin
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Note that this code is generally not running in coroutine context, so
> this is an actual blocking synchronous operation. We'll fix this in a
> moment.
>
> Signed-off-by: Kevin Wolf
> ---
> block/qed.c | 76
> +++---
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf
> ---
> block/qed.c | 57 +++--
> 1 file changed, 23 insertions(+), 34 deletions(-)
>
> /**
> - * Populate back untouched region of new data cluster
> + * Populate untouche
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Note that this code is generally not running in coroutine context, so
> this is an actual blocking synchronous operation. We'll fix this in a
> moment.
>
> Signed-off-by: Kevin Wolf
> ---
> block/qed.c | 78
> +++---
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 16 +++-
1 file changed, 11 insertions(+), 5 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index df5d695..4523c4c 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -1
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf
> ---
> block/qed-cluster.c | 39 ++-
> block/qed.c | 20 +++-
> block/qed.h | 4 ++--
> 3 files changed, 35 insertions(+), 28 deletions(-)
>
This diffstat
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Note that this code is generally not running in coroutine context, so
> this is an actual blocking synchronous operation. We'll fix this in a
> moment.
>
> Signed-off-by: Kevin Wolf
> ---
> block/qed.c | 32 ++--
> 1 file ch
From: Aurelien Jarno
Cc: Yongbok Kim
Signed-off-by: Aurelien Jarno
Message-Id: <20170430145254.25616-3-aurel...@aurel32.net>
Signed-off-by: Richard Henderson
---
target/mips/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/mips/translate.c b/target/mips/t
From: Aurelien Jarno
Cc: Yongbok Kim
Signed-off-by: Aurelien Jarno
Message-Id: <20170430145254.25616-4-aurel...@aurel32.net>
Signed-off-by: Richard Henderson
---
target/mips/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/mips/translate.c b/target/mips/t
From: "Emilio G. Cota"
Perf numbers in next commit's log.
Signed-off-by: Emilio G. Cota
Signed-off-by: Richard Henderson
---
target/arm/translate-a64.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/arm/translate-a64.c b/target/arm/translate-a64.c
index 24de30d..1e
Signed-off-by: Richard Henderson
---
target/hppa/translate.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/target/hppa/translate.c b/target/hppa/translate.c
index 9e8c233..e10abc5 100644
--- a/target/hppa/translate.c
+++ b/target/hppa/translate.c
@@ -517,7 +517,7 @@
Signed-off-by: Richard Henderson
---
tcg/ppc/tcg-target.h | 2 +-
tcg/ppc/tcg-target.inc.c | 7 +++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/tcg/ppc/tcg-target.h b/tcg/ppc/tcg-target.h
index a9aa974..5f4a40a 100644
--- a/tcg/ppc/tcg-target.h
+++ b/tcg/ppc/tcg-target.h
Signed-off-by: Richard Henderson
---
tcg/arm/tcg-target.h | 2 +-
tcg/arm/tcg-target.inc.c | 25 +
2 files changed, 22 insertions(+), 5 deletions(-)
diff --git a/tcg/arm/tcg-target.h b/tcg/arm/tcg-target.h
index c114df7..5ef1086 100644
--- a/tcg/arm/tcg-target.h
+++
Tested-by: Aurelien Jarno
Reviewed-by: Aurelien Jarno
Signed-off-by: Richard Henderson
---
target/s390x/translate.c | 17 -
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/target/s390x/translate.c b/target/s390x/translate.c
index 4c48c59..628fb86 100644
--- a/targ
From: "Emilio G. Cota"
This helper will be used by subsequent changes.
Reviewed-by: Alex Bennée
Signed-off-by: Emilio G. Cota
Message-Id: <1493263764-18657-9-git-send-email-c...@braap.org>
Signed-off-by: Richard Henderson
---
target/i386/translate.c | 25 -
1 file cha
In theory this would re-enable usage of QEMU on an armv4 host.
Whether this is worthwhile is debatable -- we've been unconditionally
issuing the armv5t BX instruction in the prologue since 2011 without
complaint. Possibly we should simply require an armv6 host.
Signed-off-by: Richard Henderson
-
Tested-by: Aurelien Jarno
Reviewed-by: Aurelien Jarno
Signed-off-by: Richard Henderson
---
tcg/s390/tcg-target.h | 2 +-
tcg/s390/tcg-target.inc.c | 24 +---
2 files changed, 22 insertions(+), 4 deletions(-)
diff --git a/tcg/s390/tcg-target.h b/tcg/s390/tcg-target.h
in
Signed-off-by: Richard Henderson
---
target/alpha/translate.c | 14 --
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/target/alpha/translate.c b/target/alpha/translate.c
index 4523c4c..7c45ae3 100644
--- a/target/alpha/translate.c
+++ b/target/alpha/translate.c
@@ -89,
From: "Emilio G. Cota"
Speed up indirect branches by jumping to the target if it is valid.
Softmmu measurements (see later commit for user-mode numbers):
Note: baseline (i.e. speedup == 1x) is QEMU v2.9.0.
- SPECint06 (test set), x86_64-softmmu (Ubuntu 16.04 guest).
Host: Int
From: "Emilio G. Cota"
Speed up indirect branches by jumping to the target if it is valid.
Softmmu measurements (see later commit for user-mode results):
Note: baseline (i.e. speedup == 1x) is QEMU v2.9.0.
- Impact on Boot time
| setup | ARM debian jessie boot+shutdown time | stddev |
|-
Signed-off-by: Richard Henderson
---
tcg/sparc/tcg-target.h | 2 +-
tcg/sparc/tcg-target.inc.c | 11 ++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/tcg/sparc/tcg-target.h b/tcg/sparc/tcg-target.h
index 9348ddd..854a0af 100644
--- a/tcg/sparc/tcg-target.h
+++ b/tc
From: "Emilio G. Cota"
Instead of unconditionally exiting to the exec loop, use the
gen_jr helper to jump to the target if it is valid.
Perf impact: see next commit's log.
Reviewed-by: Richard Henderson
Signed-off-by: Emilio G. Cota
Message-Id: <1493263764-18657-10-git-send-email-c...@braap.o
From: "Emilio G. Cota"
Measurements:
[Baseline performance is that before applying this and the previous commit]
-NBench, aarch64-softmmu. Host: Intel
i7-4790K @ 4.00GHz
1.7x
+-+-
From: "Emilio G. Cota"
Instead of unconditionally exiting to the exec loop, use the
lookup_and_goto_ptr helper to jump to the target if it is valid.
Perf impact: see next commit's log.
Reviewed-by: Alex Bennée
Reviewed-by: Richard Henderson
Signed-off-by: Emilio G. Cota
Message-Id: <14932637
From: "Emilio G. Cota"
Optimizations to cross-page chaining and indirect branches make
performance more sensitive to the hit rate of tb_jmp_cache.
The constraint of reserving some bits for the page number
lowers the achievable quality of the hashing function.
However, user-mode does not have thi
Measurements:
SPECint06 (test set), x86_64-linux-user. Host: APM 64-bit
ARMv8 (Atlas/A57) @ 2.4 GHz
1.45x
+-+-+-+
|
From: "Emilio G. Cota"
Suggested-by: Richard Henderson
Reviewed-by: Richard Henderson
Signed-off-by: Emilio G. Cota
Message-Id: <1493263764-18657-6-git-send-email-c...@braap.org>
[rth: Reuse goto_ptr epilogue for exit_tb 0.]
Signed-off-by: Richard Henderson
---
tcg/i386/tcg-target.h | 2
Changes since v7:
* I've dropped the alpha patch to use goto_ptr until I can figure out
why this is causing minute-long hangs while booting a kernel. It's
an odd one, perhaps timing related, since the hangs do not (usually)
occur when logging is enabled.
* Added r-b and patches fro
From: "Emilio G. Cota"
Instead of exporting goto_ptr directly to TCG frontends, export
tcg_gen_lookup_and_goto_ptr(), which calls goto_ptr with the pointer
returned by the lookup_tb_ptr() helper. This is the only use case
we have for goto_ptr and lookup_tb_ptr, so having this function is
very con
We have required a v9 cpu since 9b9c37c36439ee0452632253dac7a31897f27f70.
However, the flags we were using did not reliably enable v8plus, which
meant that the compiler didn't know it could inline 64-bit atomics.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
configure | 6 +++---
Avoid a "cast from pointer to integer of different size" warning
by using the proper host type.
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
target/nios2/translate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/
We need to coordinate with the TCG_OVERSIZED_GUEST test in cputlb.c,
and allow 64-bit atomics even though sizeof(void *) == 4.
Reviewed-by: Alex Bennée
Signed-off-by: Richard Henderson
---
include/qemu/atomic.h | 34 ++
1 file changed, 26 insertions(+), 8 deletio
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Signed-off-by: Kevin Wolf
> ---
> block/qed-cluster.c | 94
> ++---
> block/qed-table.c | 15 +++--
> block/qed.h | 3 +-
> 3 files changed, 36 insertions(+), 76 deletions(-)
The diffstats
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Instead of passing the return value to a callback, return it to the
> caller so that the callback can be inlined there.
>
> Signed-off-by: Kevin Wolf
> ---
> block/qed-table.c | 79
> ++-
> 1 file ch
On 05/25/2017 04:12 PM, Aurelien Jarno wrote:
On 2017-05-24 15:08, Richard Henderson wrote:
While the previous patch is required for proper conformance,
the vast majority of target insns are MVC and XC for implementing
memmove and memset respectively. The next most common are CLC,
TR, and SVC.
On Fri, May 26, 2017 at 03:51:53PM -0500, Eric Blake wrote:
> On 05/26/2017 03:23 PM, Eduardo Habkost wrote:
> > A client may be interested in getting the list of both abstract and
> > non-abstract types. Instead of requiring them to make multiple queries
> > with different filter arguments, just
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> Note that this code is generally not running in coroutine context, so
> this is an actual blocking synchronous operation. We'll fix this in a
> moment.
>
> Signed-off-by: Kevin Wolf
> ---
> block/qed-table.c | 56
> ++--
On 05/26/2017 03:23 PM, Eduardo Habkost wrote:
> Include name of parent type of each type on 'qom-list-types' output.
>
> Without this, there's no way to figure out the parents of a given type
> without making additional 'qom-list-types' queries.
>
> In addition to the test case for the new featu
On 05/26/2017 03:23 PM, Eduardo Habkost wrote:
> A client may be interested in getting the list of both abstract and
> non-abstract types. Instead of requiring them to make multiple queries
> with different filter arguments, just return an 'abstract' field in
> 'qom-list-types'.
>
> In addition t
On 05/26/2017 03:21 PM, Kevin Wolf wrote:
> The qed driver serialises allocating write requests. When the active
> allocation is finished, the AIO callback is called, but after this, the
> next allocating request is immediately processed instead of leaving the
> coroutine. Resuming another allocati
On Fri, May 26, 2017 at 11:55 AM, Eduardo Habkost wrote:
> On Fri, May 26, 2017 at 07:24:26AM -0700, Dan Williams wrote:
>> On Fri, May 26, 2017 at 12:16 AM, Haozhong Zhang
>> wrote:
>> > On 05/26/17 07:05 +, Marc-André Lureau wrote:
>> >> Hi
>> >>
>> >> On Fri, May 26, 2017 at 10:51 AM Haozh
On 05/26/2017 03:23 PM, Eduardo Habkost wrote:
> Add a new type_list_find() helper to device-introspect-test.c, to
> simplify the code at test_abstract_interfaces().
>
> Signed-off-by: Eduardo Habkost
> ---
> tests/device-introspect-test.c | 43
> --
> 1
These functions are unused now.
Signed-off-by: Kevin Wolf
---
block/io.c| 171 --
include/block/block.h | 8 ---
2 files changed, 179 deletions(-)
diff --git a/block/io.c b/block/io.c
index fdd7485..1fec424 100644
--- a/block/io.c
++
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 72 ++---
block/qed.h | 21 --
2 files changed, 31 ins
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
While refactoring qed_aio_write_alloc() to accomodate the change,
qed_aio_write_zero_cluster() ended up with a single line, so I chose to
inline that line and remove the fu
Now that we process a request in the same coroutine from beginning to
end and don't drop out of it any more, we can look like a proper
coroutine-based driver and simply call qed_aio_next_io() and get a
return value from it instead of spawning an additional coroutine that
reenters the parent when it
Most of the qed code is now synchronous and matches the coroutine model.
One notable exception is the serialisation between requests which can
still schedule a callback. Before we can replace this with coroutine
locks, let's convert the driver's external interfaces to the coroutine
versions.
We ne
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 55 ++-
1 file changed, 30 insertions(+), 25 deletions(-)
diff --git a/bl
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 43 ---
1 file changed, 20 insertions(+), 23 deletions(-)
diff --git a/block/qed.c b/
This fixes the last place where we degraded from AIO to actual blocking
synchronous I/O requests. Putting it into a coroutine means that instead
of blocking, the coroutine simply yields while doing I/O.
Signed-off-by: Kevin Wolf
---
block/qed.c | 33 +
1 file chan
This series adds 'abstract' and 'parent' fields to the output of
qom-list-types.
For reference, below are the sizes of the output of
"qom-list-types abstract=true" on qemu-system-x86_64, before and
after applying the patches:
* before: 11724 bytes
* with 'abstract' field: 13146 bytes
* with 'abst
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed.c | 61 +++--
1 file changed, 19 insertions(+), 42 d
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 43 ++-
1 file changed, 26 insertions(+), 17 deletions(-)
diff --git a/block/qed.c b/
Now that we're running in coroutine context, the ad-hoc serialisation
code (which drops a request that has to wait out of coroutine context)
can be replaced by a CoQueue.
This means that when we resume a serialised request, it is running in
coroutine context again and its I/O isn't blocking any mo
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed-table.c | 84 ---
1 file changed, 30 insertions(+), 54 d
qed_commit_l2_update() is unconditionally called at the end of
qed_aio_write_l1_update(). Inline it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 36 ++--
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index a596c4d..3b1cc
Instead of calling itself recursively as the last thing, just convert
qed_aio_next_io() into a loop.
This patch is best reviewed with 'git show -w' because most of it is
just whitespace changes.
Signed-off-by: Kevin Wolf
---
block/qed.c | 63 +++--
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed.c | 8 +---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/block/qed.c b/block/qed.c
inde
The GenericCB infrastructure isn't used any more. Remove it.
Signed-off-by: Kevin Wolf
---
block/Makefile.objs | 2 +-
block/qed-gencb.c | 33 -
block/qed.h | 11 ---
3 files changed, 1 insertion(+), 45 deletions(-)
delete mode 100644 block/qed
Include name of parent type of each type on 'qom-list-types' output.
Without this, there's no way to figure out the parents of a given type
without making additional 'qom-list-types' queries.
In addition to the test case for the new feature, update the
abstract-interface test case to use the new
All callers pass ret = 0, so we can just remove it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 17 ++---
1 file changed, 6 insertions(+), 11 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index 3a26fdf..078591b 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -253,11 +253,11 @@ s
Signed-off-by: Kevin Wolf
---
block/qed.c | 57 +++--
1 file changed, 23 insertions(+), 34 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index 584a5ba..61ef732 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -861,13 +861,9 @@ static int qed
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed.c | 76 +++--
1 file changed, 29 insertions(+), 47 d
A client may be interested in getting the list of both abstract and
non-abstract types. Instead of requiring them to make multiple queries
with different filter arguments, just return an 'abstract' field in
'qom-list-types'.
In addition to the new test code for validating this field, update the
a
Add a new type_list_find() helper to device-introspect-test.c, to
simplify the code at test_abstract_interfaces().
Signed-off-by: Eduardo Habkost
---
tests/device-introspect-test.c | 43 --
1 file changed, 25 insertions(+), 18 deletions(-)
diff --git a/te
Don't recurse into qed_aio_next_io() and qed_aio_complete() here, but
just return an error code and let the caller handle it.
Signed-off-by: Kevin Wolf
---
block/qed.c | 19 +--
1 file changed, 9 insertions(+), 10 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index 3b1cce4
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed-table.c | 56 ++-
1 file changed, 18 insertions(+), 38 d
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed.c | 78 +++--
1 file changed, 29 insertions(+), 49 d
Signed-off-by: Kevin Wolf
---
block/qed-table.c | 47 ---
block/qed.c | 12 +++-
block/qed.h | 8 +++-
3 files changed, 22 insertions(+), 45 deletions(-)
diff --git a/block/qed-table.c b/block/qed-table.c
index 0cc93a7..ebee2c5
Note that this code is generally not running in coroutine context, so
this is an actual blocking synchronous operation. We'll fix this in a
moment.
Signed-off-by: Kevin Wolf
---
block/qed.c | 32 ++--
1 file changed, 18 insertions(+), 14 deletions(-)
diff --git a/blo
Signed-off-by: Kevin Wolf
---
block/qed-cluster.c | 39 ++-
block/qed.c | 20 +++-
block/qed.h | 4 ++--
3 files changed, 35 insertions(+), 28 deletions(-)
diff --git a/block/qed-cluster.c b/block/qed-cluster.c
index d279944..8
The qed driver serialises allocating write requests. When the active
allocation is finished, the AIO callback is called, but after this, the
next allocating request is immediately processed instead of leaving the
coroutine. Resuming another allocation request in the same request
coroutine means tha
Instead of passing the return value to a callback, return it to the
caller so that the callback can be inlined there.
Signed-off-by: Kevin Wolf
---
block/qed-table.c | 79 ++-
1 file changed, 25 insertions(+), 54 deletions(-)
diff --git a/bloc
The qed block driver is one of the last remaining block drivers that use the
AIO callback style interfaces. This series converts it to the coroutine model
that other drivers are using and removes some AIO functions from the block
layer API afterwards.
If this isn't compelling enough, the diffstat
Signed-off-by: Kevin Wolf
---
block/qed.c | 36 ++--
1 file changed, 14 insertions(+), 22 deletions(-)
diff --git a/block/qed.c b/block/qed.c
index 5548475..134c98a 100644
--- a/block/qed.c
+++ b/block/qed.c
@@ -98,8 +98,7 @@ int qed_write_header_sync(BDRVQEDState
Signed-off-by: Kevin Wolf
---
block/qed-cluster.c | 94 ++---
block/qed-table.c | 15 +++--
block/qed.h | 3 +-
3 files changed, 36 insertions(+), 76 deletions(-)
diff --git a/block/qed-cluster.c b/block/qed-cluster.c
index 8f5da74..
On 26.05.2017 14:14, David Hildenbrand wrote:
> On 25.05.2017 11:22, Thomas Huth wrote:
>> Currently we only present the plain z900 feature bits to the guest,
>> but QEMU already emulates some additional features (but not all of
>> the next CPU generation, so we can not use the next CPU level as
>>
On Fri, May 26, 2017 at 10:02:32PM +0200, Kevin Wolf wrote:
> Am 26.05.2017 um 18:55 hat John Snow geschrieben:
> > On 05/26/2017 07:40 AM, Kevin Wolf wrote:
> > > There is one completely crazy thing that Xen does with respect to disks.
> > > Instead of having support for their PV disks (i.e. virti
Am 26.05.2017 um 18:55 hat John Snow geschrieben:
> On 05/26/2017 07:40 AM, Kevin Wolf wrote:
> > There is one completely crazy thing that Xen does with respect to disks.
> > Instead of having support for their PV disks (i.e. virtio-blk, just
> > different) in the BIOS, they add _both_ an IDE disk
On 05/26/2017 07:13 AM, Marc-André Lureau wrote:
There is no need to duplicate a fixed string.
CC: qemu-triv...@nongnu.org
Signed-off-by: Marc-André Lureau
Reviewed-by: Philippe Mathieu-Daudé
---
qga/commands-posix.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/q
From: Paolo Bonzini
All block jobs are using block_job_defer_to_main_loop as the final
step just before the coroutine terminates. At this point,
block_job_enter should do nothing, but currently it restarts
the freed coroutine.
Now, the job->co states should probably be changed to an enum
(e.g.
From: Paolo Bonzini
We have two different headers for block job operations, blockjob.h
and blockjob_int.h. The former contains APIs called by the monitor,
the latter contains APIs called by the block job drivers and the
block layer itself.
Keep the two APIs separate in the blockjob.c file too.
From: Paolo Bonzini
Outside blockjob.c, the block_job_iostatus_reset function is used once
in the monitor and once in BlockBackend. When we introduce the block
job mutex, block_job_iostatus_reset's client is going to be the block
layer (for which blockjob.c will take the block job mutex) rather
From: Paolo Bonzini
Unlike test-blockjob-txn, QMP releases the reference to the transaction
before the jobs finish. Thus, qemu-iotest 124 showed a failure while
working on the next patch that the unit tests did not have. Make
the test a little nastier.
Reviewed-by: Stefan Hajnoczi
Reviewed-by
From: Paolo Bonzini
This splits the part that touches job states from the part that invokes
callbacks. It will make the code simpler to understand once job states will
be protected by a different mutex than the AioContext lock.
Reviewed-by: Stefan Hajnoczi
Signed-off-by: Paolo Bonzini
Message
1 - 100 of 286 matches
Mail list logo