Last month, we experienced several guests crash(6cores-8cores),qemu logs
display the following messages:
qemu-system-x86_64: /build/qemu-2.1.2/kvm-all.c:976:
kvm_irqchip_commit_routes: Assertion `ret == 0' failed.
After analysis and verification, we can confirm it's irq-balance
daemon(in guest) l
I am trying to use Xen as accelerator for my Qemu machine. I have created a
guest domain with following xl config:
builder = "hvm"
name = "qemu-hvm"
memory = "512"
vcpus = 1
vif = ['']
vnc = 1
boot="c"
When I try to run with following parameters:
-machine q35,accel=xen -cpu qemu64 -bios ./pc-bi
Public bug reported:
Environment:
Host OS (ia32/ia32e/IA64):ia32e
Guest OS (ia32/ia32e/IA64):ia32e
Guest OS Type (Linux/Windows):windows
kvm.git Commit:2c4aa55a6af070262cca425745e8e54310e96b8d
qemu.git Commit:ab0302ee764fd702465aef6d88612cdff4302809
Host Kernel Version:3.18.0-rc3
Hard
If I understand correctly, qemu-iotests never meant to be portable. We
only support Linux for all the shell cases, but didn't specify it for
python tests. Now add this and default all the python tests as Linux
only. If we cares enough later, we can override the parameter in
individual cases.
Signe
Using /tmp, which is usually mounted as tmpfs, the quick group can be
quicker.
On my laptop (Lenovo T430s with Fedora 20), this reduces the time from
50s to 30s.
Signed-off-by: Fam Zheng
Reviewed-by: Max Reitz
---
tests/qemu-iotests-quick.sh | 2 +-
tests/qemu-iotests/check| 1 +
2 files c
Other cases have this, and this test is not portable as well, as we want
to add "make check-block" to "make check", it shouldn't fail on Mac OS
X.
Reported-by: Peter Maydell
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/058 | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qemu-iotest
For the purpose of allowing running quick group on tmpfs.
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/group | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/qemu-iotests/group b/tests/qemu-iotests/group
index a4742c6..08099b9 100644
--- a/tests/qemu-iotests/group
+++
"make check-block" does nothing on other platforms, but still takes some
time to enumerate all the tests. So let's only add it for Linux for now.
Signed-off-by: Fam Zheng
---
tests/Makefile | 3 +++
1 file changed, 3 insertions(+)
diff --git a/tests/Makefile b/tests/Makefile
index e4ddb6a..0968
Signed-off-by: Fam Zheng
---
.gitignore | 1 +
1 file changed, 1 insertion(+)
diff --git a/.gitignore b/.gitignore
index e32a584..090f974 100644
--- a/.gitignore
+++ b/.gitignore
@@ -109,3 +109,4 @@ cscope.*
tags
TAGS
*~
+/tests/qemu-iotests/common.env
--
1.9.3
qemu-iotests contains useful tests that have a nice coverage of block layer
code. Adding check-block (which calls tests/qemu-iotests-quick.sh) to "make
check" is good for developers' self-testing.
v2: Take care of other platforms, basically by keeping them unchanged, and only
add "make check-b
The former is not portable because on Mac OSX it is /usr/bin/true.
Signed-off-by: Fam Zheng
---
tests/qemu-iotests/common.config | 2 +-
tests/qemu-iotests/common.filter | 2 +-
tests/qemu-iotests/common.rc | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/qemu-iot
Hi Paolo,
We have found a bug in all the xen-4.4 and xen-4.5-rcx, the bug
can be reproduced by the following steps:
Use the 'xl pci-attach $DomU $BDF' command to attach more then
one PCI devices to the guest, then detach the devices with
'xl pci-detach $DomU $BDF', after that, re-attach these PC
This Patch provides the glue for the TPM_TIS(Qemu frontend) to Xen
stubdom vTPM domain that provides the actual TPM functionality. It
sends data and TPM commends with xen_vtpm_frontend. It is similar as
another two vTPM backens:
*vTPM passthrough backen Since QEMU 1.5.
*vTPM libtpms-based backe
This patch adds infrastructure for xen front drivers living in qemu,
so drivers don't need to implement common stuff on their own. It's
mostly xenbus management stuff: some functions to access XenStore,
setting up XenStore watches, callbacks on device discovery and state
changes, and handle event
This drvier transfers any request/repond between TPM xenstubdoms
driver and Xen vTPM stubdom, and facilitates communications between
Xen vTPM stubdom domain and vTPM xenstubdoms driver. It is a glue for
the TPM xenstubdoms driver and Xen stubdom vTPM domain that provides
the actual TPM functionalit
make sure QEMU machine class is initialized and QEMU has registered
Xen stubdom vTPM driver when call tpm_init()
Signed-off-by: Quan Xu
---
vl.c | 16 ++--
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/vl.c b/vl.c
index f6b3546..dd437e1 100644
--- a/vl.c
+++ b/vl.c
@
Signed-off-by: Quan Xu
---
configure| 14 ++
hmp.c| 7 +++
qapi-schema.json | 19 ---
qemu-options.hx | 13 +++--
tpm.c| 7 ++-
5 files changed, 54 insertions(+), 6 deletions(-)
diff --git a/configure b/configure
inde
*INTRODUCTION*
The goal of virtual Trusted Platform Module (vTPM) is to provide a TPM
functionality to virtual machines (Fedora, Ubuntu, Redhat, Windows .etc). This
allows programs to interact with a TPM in a virtual machine the same way they
interact with a TPM on the physical system. Each virt
looks like 79ae25af1569a50a0ec799901a1bb280c088f121 (which is in
qemu-2.2.0) makes it work again for my test case. not sure if the OP
wants to verify as well or just close this out now.
--
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
On 12/29/14 18:41, Peter Maydell wrote:
On 29 December 2014 at 20:27, Don Slutz wrote:
I was not sure on this being trivial also, but it looked like it could
be to me. The uses of this FD all looked that they handle non-blocking.
Does g_io_channel_read_chars() definitely return G_IO_STATUS_NO
Hi Peter,
thanks for the review! I'll rework the patch ASAP.
> Is it better to just model the GPIO controller as a standalone GPIO,
> and leave the mio vs emio distinction to the SoC/Board level?
>
> This would mean the bank GPIOs are on the top level entity, and the
> core would then have no EM
On Thu, Dec 25, 2014 at 8:22 PM, Alistair Francis wrote:
> This patch adds the stm32f2xx timers: TIM2, TIM3, TIM4 and TIM5
> to QEMU.
>
> Signed-off-by: Alistair Francis
> ---
> V8:
> - Fix tick_offset to allow now to wrap around
> - Remove the calls to get_ticks_per_sec()
> - Pre-scale the gu
On Tue, Dec 30, 2014 at 5:13 AM, Colin Leitner
wrote:
> Based on the pl061 model. This model implements all four banks with 32 I/Os
> each.
>
> The I/Os are placed in four named groups:
>
> * mio_in/out[0..63], where mio_in/out[0..31] map to bank 0 and the rest to
>bank 1
> * emio_in/out[0..
On 30 December 2014 at 16:28, Michael S. Tsirkin wrote:
> Tweak virtio core so we can use linux virtio pci header
> directly without duplicating code.
>
> Signed-off-by: Michael S. Tsirkin
> diff --git a/hw/virtio/virtio-pci.c b/hw/virtio/virtio-pci.c
> index 7382705..bc11d3d 100644
> --- a/hw/v
Hi Peter,
please pull these two commits which were posted to the ML some time ago.
---
The following changes since commit ab0302ee764fd702465aef6d88612cdff4302809:
Merge remote-tracking branch 'remotes/pmaydell/tags/pull-target-arm-20141223'
into staging (2014-12-23 15:05:22 +)
are avai
This is somewhat functional. With this, and linux driver from my tree,
I was able to use virtio net as virtio 1.0 device for light browsing.
At the moment, dataplane and vhost code is
still missing.
Based on Cornelia's virtio 1.0 patchset:
Date: Thu, 11 Dec 2014 14:25:02 +0100
From: Corn
Easier than duplicating code.
Signed-off-by: Michael S. Tsirkin
---
linux-headers/linux/virtio_pci.h | 194 +++
1 file changed, 194 insertions(+)
create mode 100644 linux-headers/linux/virtio_pci.h
diff --git a/linux-headers/linux/virtio_pci.h b/linux-header
Tweak virtio core so we can use linux virtio pci header
directly without duplicating code.
Signed-off-by: Michael S. Tsirkin
---
hw/net/virtio-net.c| 2 +-
hw/virtio/virtio-pci.c | 3 +++
hw/virtio/virtio.c | 13 +
3 files changed, 13 insertions(+), 5 deletions(-)
diff --g
Partial implementation for virtio 1.0.
Some bits are still missing, but this is already
somewhat useful for driver development.
Michael S. Tsirkin (3):
linux-headers: add virtio_pci
virtio: misc fixes, include linux header
virtio-pci: initial virtio 1.0 support
hw/virtio/virtio-pci.h
I'm sorry if it was already discussed, but I think it is inconsistent to
have "size" in sectors and "granularity" in bytes in one structure. I've
misused these fields because of this in my current work.
At least, I think there should be comments about this.
Best regards,
Vladimir
On 23.12.201
On 12/24/2014 01:51 PM, Michael S. Tsirkin wrote:
Use resizeable ram API so we can painlessly extend ROMs in the
future. Note: migration is not affected, as we are
not actually changing the used length for RAM, which
is the part that's migrated.
Use this in acpi: reserve x16 more RAM space.
Si
Based on the pl061 model. This model implements all four banks with 32 I/Os
each.
The I/Os are placed in four named groups:
* mio_in/out[0..63], where mio_in/out[0..31] map to bank 0 and the rest to
bank 1
* emio_in/out[0..63], where emio_in/out[0..31] map to bank 2 and the rest to
bank 3
Hello everyone,
I wrote the Zynq GPIO model a while ago and it proved useful in an internal
project, so maybe others will find it useful too.
Cheers,
Colin
Colin Leitner (2):
zynq_gpio: GPIO model for Zynq SoC
xilinx_zynq: Add zynq_gpio to the machine
hw/arm/xilinx_zynq.c |2 +
hw
Signed-off-by: Colin Leitner
---
hw/arm/xilinx_zynq.c |2 ++
1 file changed, 2 insertions(+)
diff --git a/hw/arm/xilinx_zynq.c b/hw/arm/xilinx_zynq.c
index 06e6e24..6d8c0d9 100644
--- a/hw/arm/xilinx_zynq.c
+++ b/hw/arm/xilinx_zynq.c
@@ -202,6 +202,8 @@ static void zynq_init(MachineState *ma
On Thu, Dec 11, 2014 at 02:25:15PM +0100, Cornelia Huck wrote:
> virtio-1 allow setting of the FEATURES_OK status bit to fail if
> the negotiated feature bits are inconsistent: let's fail
> virtio_set_status() in that case and update virtio-ccw to post an
> error to the guest.
>
> Signed-off-by: C
On 30/12/14 13:55, Peter Lieven wrote:
Am 30.12.2014 um 10:20 schrieb Denis V. Lunev:
These patches eliminate data writes completely on Linux if fallocate
FALLOC_FL_ZERO_RANGE or FALLOC_FL_PUNCH_HOLE are supported on
underlying filesystem.
I have performed several tests with non-aligned falloc
Am 30.12.2014 um 10:20 schrieb Denis V. Lunev:
> These patches eliminate data writes completely on Linux if fallocate
> FALLOC_FL_ZERO_RANGE or FALLOC_FL_PUNCH_HOLE are supported on
> underlying filesystem.
>
> I have performed several tests with non-aligned fallocate calls and
> in all cases (wit
On 30 December 2014 at 05:14, wrote:
> From: Scott Feldman
>
> The rocker device uses same PCI device ID as sdhci. Since rocker device
> driver
> has already been accepted into Linux 3.18, and REDHAT_SDHCI device ID isn't
> used by any drivers, it's safe to move REDHAT_SDHCI device ID, avoidin
Oh sorry. Something went wrong with the pull request. I'll make a new one asap.
-michael
This is preparational commit for tweaks in Parallels image expansion.
The idea is that enlarge via truncate by one data block is slow. It
would be much better to use fallocate via bdrv_write_zeroes and
expand by some significant amount at once.
This patch just adds proper parameters into BDRVParal
The idea is that we do not need to immediately sync BAT to the image as
from the guest point of view there is a possibility that IO is lost
even in the physical controller until flush command was finished.
bdrv_co_flush_to_os is exactly the right place for this purpose.
Technically the patch align
to calculate entry offset inside catalog bitmap in parallels image.
This is a matter of convinience.
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/block/parallels.c b/block
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 6 +-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/block/parallels.c b/block/parallels.c
index bea1217..e3abf4e 100644
--- a/block/parallels.c
+++ b/block/parallel
>From the point of guest each write to real disk prior to disk barrier
operation could be lost. Therefore there is no problem that "not synced"
new block is lost due to not updated allocation table if QEMU is crashed.
This patch improves writing performance of
qemu-img create -f parallels -o clu
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
tests/qemu-iotests/115 | 68 ++
tests/qemu-iotests/115.out | 24
tests/qemu-iotests/group | 1 +
3 files changed, 93 insertions(+)
cre
BAT means 'block allocation table'. Thus this name is clean and shorter
on writing.
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 48
1 file changed, 24 insertions(+), 24 deletions(-)
diff --git a/bloc
Do not even care to create WithoutFreeSpace image, it is obsolete.
Always create WithouFreSpacExt one.
The code also does not spend a lot of efforts to fill cylinders and
heads fields, they are not used actually in a real life neither in
QEMU nor in Parallels products.
Signed-off-by: Denis V. Lun
Plain image expansion spends a lot of time to update image file size.
This seriously affects the performance. The following simple test
qemu_img create -f parallels -o cluster_size=64k ./1.hds 64G
qemu_io -n -c "write -P 0x11 0 1024M" ./1.hds
could be improved if the format driver will pre-allo
This would be useful for the future for speed optimizations of new block
creation in the image. At the moment each write to the catalog bitmap
results in read-modify-write transaction. It would be beneficial to
write by pages or sectors. Though in order to do that for the begining
of the image we s
Because of wrong return value of .save_live_pending() in
migration/block.c, migration finishes before the whole disk is
transferred. Such situation occurs when the migration process is fast
enough, for example when source and dest are on the same host.
If in the bulk phase we return something < ma
v2:
- rebase to master
- fix typos in description
Because of wrong return value of .save_live_pending() in
block-migration, migration finishes before the whole disk
is transferred. Such situation occurs when the migration
process is fast enough, for example when source and dest
are on the sam
On 30 December 2014 at 09:06, Fabio Fantoni wrote:
> In the automatic test the qemu log contain:
>>
>> qemu-system-i386: util/qemu-option.c:387: qemu_opt_get_bool_helper:
>> Assertion `opt->desc && opt->desc->type == QEMU_OPT_BOOL' failed.
>
> Is there unexpected case in the qemu patch spotted by
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
tests/qemu-iotests/076 | 5 +
tests/qemu-iotests/076.out | 10 ++
2 files changed, 15 insertions(+)
diff --git a/tests/qemu-iotests/076 b/tests/qemu-iotests/076
index 0139976..c9b55a9 1
Main approach is taken from qcow2_co_readv.
The patch drops coroutine lock for the duration of IO operation and
peforms normal scatter-gather IO using standard QEMU backend.
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 46
Support write on Parallels images. The code is almost the same as one
in the previous patch implemented scatter-gather IO for read.
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 77 +++
From: Roman Kagan
Teach parallels_read() to do reads in coarser granularity than just a
single sector: if requested, read up to the cluster end in one go.
Signed-off-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 18 +
suggested by Jeff Cody
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
tests/qemu-iotests/076 | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/tests/qemu-iotests/076 b/tests/qemu-iotests/076
index ed2be35..0139976 100755
From: Roman Kagan
Implement VFS method for get_block_status to Parallels format driver.
Signed-off-by: Roman Kagan
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 21 +
1 file changed, 21 insertions(+)
diff --git a/block/parallel
From: Roman Kagan
Switch the .bdrv_read method implementation from using bdrv_pread() to
bdrv_read() on the underlying file, since the latter is subject to i/o
throttling while the former is not.
Besides, since bdrv_read() operates in sectors rather than bytes, adjust
the helper functions to do
simple purification..
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/block/parallels.c b/block/parallels.c
index 64b169b..306f2e3 100644
--- a/block/parall
This patchset provides an ability to create of/write to Parallels
images and some testing of the new code. Writes are not optimized
now at all, we just modify catalog_bitmap and write those changes
to the image itself at once. This will be improved in next steps.
This patchset consists of not prob
this follows QEMU coding convention
Signed-off-by: Denis V. Lunev
Acked-by: Roman Kagan
CC: Kevin Wolf
CC: Stefan Hajnoczi
---
block/parallels.c | 8
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/block/parallels.c b/block/parallels.c
index 4f9cd8d..dca0df6 100644
---
This sequence works efficiently if FALLOC_FL_ZERO_RANGE is not supported.
Simple fallocate(0) will extend file with zeroes when appropriate in the
middle of the file if there is a hole there and at the end of the file.
Unfortunately fallocate(0) does not drop the content of the file if
there is a
There is a possibility that we are extending our image and thus writing
zeroes beyond end of the file. In this case we do not need to care
about the hole to make sure that there is no data in the file under
this offset (pre-condition to fallocate(0) to work). We could simply call
fallocate(0).
Thi
The pattern
do {
if (fallocate(s->fd, mode, offset, len) == 0) {
return 0;
}
} while (errno == EINTR);
is used twice at the moment and I am going to add more usages. Move it
to the helper function.
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoc
This efficiently writes zeroes on Linux if the kernel is capable enough.
FALLOC_FL_ZERO_RANGE correctly handles all cases, including and not
including file expansion.
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnoczi
CC: Peter Lieven
---
block/raw-posix.c | 13 -
co
actually the code
if (ret == -ENODEV || ret == -ENOSYS || ret == -EOPNOTSUPP ||
ret == -ENOTTY) {
ret = -ENOTSUP;
}
is present twice and will be added a couple more times. Create helper
for this. Place it into do_fallocate() for further convinience.
Signed-off-by: Denis V.
These patches eliminate data writes completely on Linux if fallocate
FALLOC_FL_ZERO_RANGE or FALLOC_FL_PUNCH_HOLE are supported on
underlying filesystem.
I have performed several tests with non-aligned fallocate calls and
in all cases (with non-aligned fallocates) Linux performs fine, i.e.
areas
move code dealing with a block device to a separate function. This will
allow to implement additional processing for an ordinary files.
Pls note, that xfs_code has been moved before checking for
s->has_write_zeroes as xfs_write_zeroes does not touch this flag inside.
This makes code a bit more con
bdrv_co_do_write_zeroes split writes using bl.max_write_zeroes or
16 MiB as a chunk size. This is implemented in this way to tolerate
buggy block backends which do not accept too big requests.
Though if the bdrv_co_write_zeroes callback is not good enough, we
fallback to write data explicitely usi
fallocate() works fine and could handle properly with arbitrary size
requests. There is no sense to reduce the amount of space to fallocate.
The bigger the size, the better is performance as the amount of journal
updates is reduced.
Signed-off-by: Denis V. Lunev
CC: Kevin Wolf
CC: Stefan Hajnocz
Il 30/12/2014 08:52, xen.org ha scritto:
branch xen-unstable
xen branch xen-unstable
job test-amd64-amd64-xl-win7-amd64
test windows-install
Tree: linux git://xenbits.xen.org/linux-pvops.git
Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git
Tree: qemu git://xenbits.xen.org/sta
72 matches
Mail list logo