Il gio 20 apr 2023, 08:11 Markus Armbruster ha scritto:
> So, splicing in a bottom half unmoored monitor commands from the main
> loop. We weren't aware of that, as our commit messages show.
>
> I guess the commands themselves don't care; all they need is the BQL.
>
> However, did we unwittingly
Fiona Ebner writes:
> Hi,
> while debugging a completely different issue, I was surprised to see
> do_qmp_dispatch_bh being run in a vCPU thread. I was under the
> impression that QMP functions are supposed to be executed in the main
> thread. Is that wrong?
>
> I managed to reproduced the scenar
This commit adds a new audiodev backend to allow QEMU to use Pipewire as
both an audio sink and source. This backend is available on most systems
Add Pipewire entry points for QEMU Pipewire audio backend
Add wrappers for QEMU Pipewire audio backend in qpw_pcm_ops()
qpw_write function returns the
The old eth_setup_vlan_headers has no user so remove it and rename
eth_setup_vlan_headers_ex.
Signed-off-by: Akihiko Odaki
---
include/net/eth.h | 9 +
hw/net/net_tx_pkt.c | 2 +-
net/eth.c | 2 +-
3 files changed, 3 insertions(+), 10 deletions(-)
diff --git a/include/net/et
This saves some code and enables tracepoint for e1000's VLAN filtering.
Signed-off-by: Akihiko Odaki
Reviewed-by: Sriram Yagnaraman
---
hw/net/e1000x_common.h | 4 +++-
hw/net/e1000.c | 35 +--
hw/net/e1000e_core.c | 47 +---
e1000e and igb employs NetPktRssIpV6TcpEx for RSS hash if TcpIpv6 MRQC
bit is set. Moreover, igb also has a MRQC bit for NetPktRssIpV6Tcp
though it is not implemented yet. Rename it to TcpIpv6Ex to avoid
confusion.
Signed-off-by: Akihiko Odaki
---
hw/net/e1000x_regs.h | 24 --
e1000e_receive_internal() used to check the iov length to determine
copy the iovs to a contiguous buffer, but the check is flawed in two
ways:
- It does not ensure that iovcnt > 0.
- It does not take virtio-net header into consideration.
The size of this copy is just 18 octets, which can be even l
It is unlikely to find more bugs with KVM so remove test_igb_nomsi_kvm
to save time to run it.
Signed-off-by: Akihiko Odaki
---
tests/avocado/netdev-ethtool.py | 12 +---
1 file changed, 1 insertion(+), 11 deletions(-)
diff --git a/tests/avocado/netdev-ethtool.py b/tests/avocado/netdev-
e1000e does not support using UDP for RSS hash, but igb does.
Signed-off-by: Akihiko Odaki
---
hw/net/igb_regs.h | 3 +++
hw/net/igb_core.c | 16
2 files changed, 19 insertions(+)
diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h
index eb995d8b2e..e6ac26dc0e 100644
--- a/hw/n
Signed-off-by: Akihiko Odaki
---
docs/system/devices/igb.rst | 12 +++-
1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/docs/system/devices/igb.rst b/docs/system/devices/igb.rst
index afe036dad2..60c10bf7c7 100644
--- a/docs/system/devices/igb.rst
+++ b/docs/system/devices/i
Keeping Tx packet state after the transmit queue is emptied has some
problems:
- The datasheet says the descriptors can be reused after the transmit
queue is emptied, but the Tx packet state may keep references to them.
- The Tx packet state cannot be migrated so it can be reset anytime the
mig
It is possible to have another VLAN tag even if the packet is already
tagged.
Signed-off-by: Akihiko Odaki
---
include/net/eth.h | 4 ++--
hw/net/net_tx_pkt.c | 16 +++-
net/eth.c | 22 ++
3 files changed, 15 insertions(+), 27 deletions(-)
diff --git
Keeping Tx packet state after the transmit queue is emptied but this
behavior is unreliable as the state can be reset anytime the migration
happens.
Always reset Tx packet state always after the queue is emptied.
Signed-off-by: Akihiko Odaki
---
hw/net/vmxnet3.c | 3 ++-
1 file changed, 2 inser
igb has a configurable size limit for LPE, and uses different limits
depending on whether the packet is treated as a VLAN packet.
Signed-off-by: Akihiko Odaki
---
hw/net/igb_core.c | 36 +---
1 file changed, 21 insertions(+), 15 deletions(-)
diff --git a/hw/net/i
Without this change, the status flags may not be traced e.g. if checksum
offloading is disabled.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
hw/net/igb_core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
ind
Signed-off-by: Akihiko Odaki
---
hw/net/net_tx_pkt.h | 8
hw/net/igb_core.c | 12 +++-
hw/net/net_tx_pkt.c | 18 ++
3 files changed, 33 insertions(+), 5 deletions(-)
diff --git a/hw/net/net_tx_pkt.h b/hw/net/net_tx_pkt.h
index f5cd44da6f..fc00d7941d 100644
---
Signed-off-by: Akihiko Odaki
---
hw/net/igb_common.h | 16 +++---
hw/net/igb_regs.h | 23
hw/net/igb_core.c | 129
3 files changed, 127 insertions(+), 41 deletions(-)
diff --git a/hw/net/igb_common.h b/hw/net/igb_common.h
index f2a90657
The goto is a bit confusing as it changes the control flow only if L4
protocol is not recognized. It is also different from e1000e, and
noisy when comparing e1000e and igb.
Signed-off-by: Akihiko Odaki
Reviewed-by: Sriram Yagnaraman
---
hw/net/igb_core.c | 2 +-
1 file changed, 1 insertion(+),
vmxnet3 has no dependency on PC, and VMware Fusion actually makes it
available on Apple Silicon according to:
https://kb.vmware.com/s/article/90364
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
hw/net/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --g
GPIE.Multiple_MSIX is not set by default, and needs to be set to get
interrupts from multiple MSI-X vectors.
Signed-off-by: Akihiko Odaki
---
tests/qtest/libqos/igb.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/tests/qtest/libqos/igb.c b/tests/qtest/libqos/igb.c
index 12fb531bf0..a603468
I have made significant changes for network packet abstractions so add
me as a reviewer.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index c31d2279ab..8b2ef5943c 100644
--- a/MAINT
igb_receive_internal() used to check the iov length to determine
copy the iovs to a contiguous buffer, but the check is flawed in two
ways:
- It does not ensure that iovcnt > 0.
- It does not take virtio-net header into consideration.
The size of this copy is just 22 octets, which can be even less
The constants need to be consistent between the PF and VF.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
Reviewed-by: Sriram Yagnaraman
---
hw/net/igb_common.h | 8
hw/net/igb.c| 10 +-
hw/net/igbvf.c | 7 ---
3 files changed, 13 insertion
Signed-off-by: Akihiko Odaki
---
hw/net/igb_core.c | 23 ++-
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index 9590e9bc4e..54abcf023c 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -69,7 +69,7 @@ typedef struc
Section 13.7.15 Receive Length Error Count says:
> Packets over 1522 bytes are oversized if LongPacketEnable is 0b
> (RCTL.LPE). If LongPacketEnable (LPE) is 1b, then an incoming packet
> is considered oversized if it exceeds 16384 bytes.
> These lengths are based on bytes in the received packet
Signed-off-by: Akihiko Odaki
Reviewed-by: Sriram Yagnaraman
---
hw/net/igb_core.c | 9 +++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index c24c522244..2c287688c7 100644
--- a/hw/net/igb_core.c
+++ b/hw/net/igb_core.c
@@ -1870,7 +187
Signed-off-by: Akihiko Odaki
---
tests/avocado/netdev-ethtool.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/tests/avocado/netdev-ethtool.py b/tests/avocado/netdev-ethtool.py
index f7e9464184..8de118e313 100644
--- a/tests/avocado/netdev-ethtool.py
+++ b/tests/avocado/netdev-ethtool.py
@@
Section 7.2.2.3 Advanced Transmit Data Descriptor says:
> For frames that spans multiple descriptors, all fields apart from
> DCMD.EOP, DCMD.RS, DCMD.DEXT, DTALEN, Address and DTYP are valid only
> in the first descriptors and are ignored in the subsequent ones.
Signed-off-by: Akihiko Odaki
Revie
Signed-off-by: Akihiko Odaki
---
hw/net/igb_regs.h | 3 +++
hw/net/igb_core.c | 7 +++
2 files changed, 10 insertions(+)
diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h
index 894705599d..82ff195dfc 100644
--- a/hw/net/igb_regs.h
+++ b/hw/net/igb_regs.h
@@ -322,6 +322,9 @@ union e1000_adv_
Signed-off-by: Akihiko Odaki
---
hw/net/net_rx_pkt.h | 19
include/net/eth.h| 4 ++--
hw/net/e1000e_core.c | 3 ++-
hw/net/igb_core.c| 14 ++--
hw/net/net_rx_pkt.c | 15 +
net/eth.c| 52
6 fi
The uses of uint8_t pointers were misleading as they are never accessed
as an array of octets and it even require more strict alignment to
access as struct eth_header.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
include/net/eth.h | 4 ++--
net/eth.c | 6 +++---
Signed-off-by: Akihiko Odaki
---
hw/net/igb_regs.h | 1 +
include/net/eth.h | 4 ++-
include/qemu/crc32c.h | 1 +
hw/net/e1000e_core.c | 5
hw/net/igb_core.c | 15 +-
hw/net/net_rx_pkt.c | 64 +++
net/eth.c | 4 +
Signed-off-by: Akihiko Odaki
---
hw/net/igb_regs.h | 32 +++-
hw/net/igb_core.c | 4 ++--
2 files changed, 29 insertions(+), 7 deletions(-)
diff --git a/hw/net/igb_regs.h b/hw/net/igb_regs.h
index 21ee9a3b2d..eb995d8b2e 100644
--- a/hw/net/igb_regs.h
+++ b/hw/net/igb
eth_strip_vlan and eth_strip_vlan_ex refers to ehdr_buf as struct
eth_header. Enforce alignment for the structure.
Signed-off-by: Akihiko Odaki
---
hw/net/net_rx_pkt.c | 11 +++
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/hw/net/net_rx_pkt.c b/hw/net/net_rx_pkt.c
index
igb does not properly ensure the buffer passed to
net_rx_pkt_set_protocols() is contiguous for the entire L2/L3/L4 header.
Allow it to pass scattered data to net_rx_pkt_set_protocols().
Fixes: 3a977deebe ("Intrdocue igb device emulation")
Signed-off-by: Akihiko Odaki
Reviewed-by: Sriram Yagnarama
Before this change, e1000 and the common code updated BPRC and MPRC
depending on the matched filter, but e1000e and igb decided to update
those counters by deriving the packet type independently. This
inconsistency caused a multicast packet to be counted twice.
Updating BPRC and MPRC depending on
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
hw/net/igb_core.c | 96 +++
1 file changed, 48 insertions(+), 48 deletions(-)
diff --git a/hw/net/igb_core.c b/hw/net/igb_core.c
index e23c638899..c24c522244 100644
--- a/hw/net/igb_
Fixes: 9f95111474 ("tests/avocado: re-factor igb test to avoid timeouts")
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
MAINTAINERS| 2 +-
docs/system/devices/igb.rst| 2 +-
scripts/ci/org.centos/stream/8/x86_
igb's advanced descriptor uses a packet type encoding different from
one used in e1000e's extended descriptor. Fix the logic to encode
Rx packet type accordingly.
Fixes: 3a977deebe ("Intrdocue igb device emulation")
Signed-off-by: Akihiko Odaki
---
hw/net/igb_regs.h | 5 +
hw/net/igb_core.c
This function is not used.
Signed-off-by: Akihiko Odaki
---
hw/net/net_rx_pkt.h | 9 -
hw/net/net_rx_pkt.c | 5 -
2 files changed, 14 deletions(-)
diff --git a/hw/net/net_rx_pkt.h b/hw/net/net_rx_pkt.h
index a06f5c2675..ce8dbdb284 100644
--- a/hw/net/net_rx_pkt.h
+++ b/hw/net/net_rx
This allows to use the network packet abstractions even if PCI is not
used.
Signed-off-by: Akihiko Odaki
---
hw/net/net_tx_pkt.h | 31 ---
hw/net/e1000e_core.c | 13 -
hw/net/igb_core.c| 13 ++---
hw/net/net_tx_pkt.c | 36 +---
Without this change, the status flags may not be traced e.g. if checksum
offloading is disabled.
Signed-off-by: Akihiko Odaki
Reviewed-by: Philippe Mathieu-Daudé
---
hw/net/e1000e_core.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/hw/net/e1000e_core.c b/hw/net/e1000e_c
While the datasheet of e1000e says it checks CTRL.VME for tx VLAN
tagging, igb's datasheet has no such statements. It also says for
"CTRL.VLE":
> This register only affects the VLAN Strip in Rx it does not have any
> influence in the Tx path in the 82576.
(Appendix A. Changes from the 82575)
There
This series has fixes and feature additions to pass DPDK Test Suite with
igb. It also includes a few minor changes related to networking.
Patch [01, 09] are bug fixes.
Patch [10, 13] delete code which is unnecessary.
Patch [14, 29] are minor changes.
Patch [30, 39] implement new features.
Patch [4
This is intended to be followed by another change for the interface.
It also fixes the leak of memory mapping when the specified memory is
partially mapped.
Fixes: e263cd49c7 ("Packet abstraction for VMWARE network devices")
Signed-off-by: Akihiko Odaki
---
hw/net/net_tx_pkt.h | 9
hw/
On 2023/04/19 16:32, Michael Tokarev wrote:
Hello!
Today I discovered an interesting issue here: I copied a system-installed
binary into another directory, in order to debug an unrelated issue. Just
to discover it does not work, being unable to find any modules or data
files.
Here's how the str
Hi all,
My bad, I just submitted the kernel patch. If we are passing some generic
command, still we have to add an additional field in the structure to
indicate what is the unbatched version of this command, and the struct
vhost_ioctls would be some command specific structure. In summary, the
stru
One minor comment below:
On 4/19/23 14:52, Kautuk Consul wrote:
Commit c0c8687ef0fd990db8db1655a8a6c5a5e35dd4bb disabled the
boot_linux.py test-case due to which the code coverage for ppc
decreased by around 2%. As per the discussion on
https://lore.kernel.org/qemu-devel/87sfdpqcy4@linaro.or
On Wed, Apr 19, 2023 at 11:33 PM Eugenio Perez Martin
wrote:
>
> On Wed, Apr 19, 2023 at 12:56 AM wrote:
> >
> > From: Pei Li
> >
> > Currently, part of the vdpa initialization / startup process
> > needs to trigger many ioctls per vq, which is very inefficient
> > and causing unnecessary contex
Remove the following macros (remnants of the old generator design)
READ_REG
READ_PREG
WRITE_RREG
WRITE_PREG
Modify macros that rely on the above
The following are unused
READ_IREG
fGET_FIELD
fSET_FIELD
fREAD_P3
fREAD_NPC
fWRITE_LC0
fWRITE_LC1
Signed-off
The slot variable in helpers was only passed to log_reg_write function
where the argument is unused.
- Remove declaration from generated helper functions
- Remove slot argument from log_reg_write
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
Message-Id: <20230407204521.357244-1-ts
From: Matheus Tavares Bernardino
When there is a conditional change of flow or an endloop instruction, we
preload HEX_REG_PC with ctx->next_PC at gen_start_packet(). Nonetheless,
we still generate TCG code to do this update again at gen_goto_tb() when
the condition for the COF is not met, thus pr
The following changes since commit 60ca584b8af0de525656f959991a440f8c191f12:
Merge tag 'pull-for-8.0-220323-1' of https://gitlab.com/stsquad/qemu into
staging (2023-03-22 17:58:12 +)
are available in the Git repository at:
https://github.com/quic/qemu tags/pull-hex-20230419
This will facilitate adding additional tests in separate .c files
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20230406174241.853296-1-tsimp...@quicinc.com>
---
tests/tcg/hexagon/hvx_misc.h | 178 ++
tests/tcg/hexagon/hvx_misc.c
The following instructions are overriden
S2_ct0Count trailing zeros
S2_ct1Count trailing ones
S2_ct0p Count trailing zeros (register pair)
S2_ct1p Count trailing ones (register pair)
These instructions are not handled by idef-parser becau
Currently, idef-parser skips all floating point instructions. However,
there are some floating point instructions that can be handled.
The following instructions are now parsed
F2_sfimm_p
F2_sfimm_n
F2_dfimm_p
F2_dfimm_n
F2_dfmpyll
F2_dfmpylh
To make these instructions wo
From: Marco Liebel
Replace python 2 format string with f-strings
Signed-off-by: Marco Liebel
Signed-off-by: Taylor Simpson
Reviewed-by: Taylor Simpson
Tested-by: Taylor Simpson
Message-Id: <20230320092533.2859433-2-quic_mlie...@quicinc.com>
---
target/hexagon/gen_analyze_funcs.py | 115
Reducing the number of arguments reduces the overhead of the helper
call
Signed-off-by: Taylor Simpson
Reviewed-by: Philippe Mathieu-Daudé
Message-Id: <20230405164211.30015-2-tsimp...@quicinc.com>
---
target/hexagon/helper.h| 4 ++--
target/hexagon/translate.h | 1 +
target/hexagon/op_hel
Most of these are not modelled in QEMU, so save the overhead of
calling a helper.
The only exception is dczeroa. It assigns to hex_dczero_addr, which
is handled during packet commit.
Signed-off-by: Taylor Simpson
Reviewed-by: Richard Henderson
Message-Id: <20230410202402.2856852-1-tsimp...@qui
Signed-off-by: Taylor Simpson
Reviewed-by: Anton Johansson
Message-Id: <20230405164211.30015-3-tsimp...@quicinc.com>
---
target/hexagon/gen_tcg.h| 4 +-
target/hexagon/genptr.h | 10 ++---
target/hexagon/macros.h | 8
target/hexa
>-Original Message-
>From: Peter Maydell
>Sent: Thursday, April 20, 2023 12:10 AM
>To: Duan, Zhenzhong
>Cc: qemu-devel@nongnu.org; m...@redhat.com; pet...@redhat.com;
>jasow...@redhat.com; marcel.apfelb...@gmail.com;
>pbonz...@redhat.com; richard.hender...@linaro.org; edua...@habkost.ne
On Wed, Apr 19, 2023, Christian Brauner wrote:
> On Thu, Apr 13, 2023 at 03:28:43PM -0700, Sean Christopherson wrote:
> > > But if you want to preserve the inode number and device number of the
> > > relevant tmpfs instance but still report memfd restricted as your
> > > filesystem type
> >
> > Un
On Tue, Apr 18, 2023 at 12:08 AM Daniel Henrique Barboza
wrote:
>
> This setter is doing nothing else but setting env->vext_ver. Assign the
> value directly.
>
> Signed-off-by: Daniel Henrique Barboza
> Reviewed-by: LIU Zhiwei
> Reviewed-by: Weiwei Li
I think you dropped my previous reviews
A
On Tue, Apr 18, 2023 at 12:02 AM Daniel Henrique Barboza
wrote:
>
> The RVV verification will error out if fails and it's being done at the
> end of riscv_cpu_validate_set_extensions(), after we've already set some
> extensions that are dependent on RVV. Let's put it in its own function
> and do
On Tue, Apr 18, 2023 at 5:56 PM Irina Ryapolova
wrote:
>
> Before changing the flow check for sv39/48/57.
>
> According to specification (for Supervisor mode):
> Sv39 implementations support a 39-bit virtual address space, divided into 4
> KiB
> pages.
> Instruction fetch addresses and load and s
On Wed, Apr 19, 2023 at 8:48 PM Alexandre Ghiti wrote:
>
> As per the privileged specification, in 64-bit, if any of the pte reserved
> bits 60-54 is set an exception should be triggered, and the same applies to
> napot/pbmt bits if those extensions are not enabled
> (see 4.4.1, "Addressing and Me
On Wed, Apr 19, 2023 at 8:48 PM Alexandre Ghiti wrote:
>
> As per the privileged specification, in 64-bit, if any of the pte reserved
> bits 60-54 is set an exception should be triggered, and the same applies to
> napot/pbmt bits if those extensions are not enabled
> (see 4.4.1, "Addressing and Me
To be used in the next commit.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
scripts/qapi/types.py | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/qapi/types.py b/scripts/qapi/types.py
index c39d054d2c..18f8734047 100644
--- a/scripts/qapi/types.py
+++ b/scripts/qapi/types.py
@@
We don't allow to use x-colo capability when replication is not
configured. So, no reason to build COLO when replication is disabled,
it's unusable in this case.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
hmp-commands.hx| 2 ++
migration/colo.c | 6 +
mig
Add option to not build COLO Proxy subsystem if it is not needed.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
meson.build | 1 +
meson_options.txt | 2 ++
net/meson.build | 11 ---
scripts/meson-buildoptions.sh | 3 +++
4 files changed,
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
block/meson.build | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/block/meson.build b/block/meson.build
index 382bec0e7d..b9a72e219b 100644
--- a/block/meson.build
+++ b/block/meson.build
@@ -84,7 +84,7 @@ block_ss.add(when: 'CON
Hi all!
COLO substem seems to be useless when CONFIG_REPLICATION is unset, as we
simply don't allow to set x-colo capability in this case. So, let's not
compile in unreachable code and interface we cannot use when
CONFIG_REPLICATION is unset.
Also, provide personal configure option for COLO Proxy
On 11.04.23 17:51, Vladimir Sementsov-Ogievskiy wrote:
Don't compile-in replication-related files when replication is disabled
in config.
Signed-off-by: Vladimir Sementsov-Ogievskiy
v2 will be called "[PATCH v2 0/4] COLO: improve build options"
--
Best regards,
Vladimir
On Wed, Apr 19, 2023 at 8:46 AM Thomas Huth wrote:
> According to QEMU's support policy, we stop supporting the previous
> major release two years after the the new major release has been
> published. So we can stop testing FreeBSD 12 now and should switch
> our FreeBSD VM to version 13 instead.
On 17.04.23 20:19, Vladimir Sementsov-Ogievskiy wrote:
On 16.04.23 21:44, Zhang, Chen wrote:
-Original Message-
From: Vladimir Sementsov-Ogievskiy
Sent: Friday, April 14, 2023 5:51 PM
To: Zhang, Chen ; qemu-devel@nongnu.org
Cc: qemu-bl...@nongnu.org; pbonz...@redhat.com; arm...@redha
Hello,
On behalf of the QEMU Team, I'd like to announce the availability of
the QEMU 8.0.0 release. This release contains 2800+ commits from 238
authors.
A note from the maintainer (and the QEMU team in general):
Thank you to everybody who contributed to this release,
whether that was by wri
Dear Qemu members,
I apologize for sending this email, but I need some help to find a QEMU
expert for our client in Silicon Valley. We are looking for someone who can
integrate QEMU with simulators and preferably some experience in RISC-V CPU.
Please let me know if you can connect me to
Peter Xu wrote:
> On Wed, Apr 19, 2023 at 06:24:03PM +0200, Juan Quintela wrote:
>> Juan Quintela (12):
>> migration: Merge ram_counters and ram_atomic_counters
>> migration: Update atomic stats out of the mutex
>> migration: Make multifd_bytes atomic
>> migration: Make dirty_sync_missed_z
Peter Xu wrote:
> Instead of print it to STDERR, bring the error upwards so that it can be
> reported via QMP responses.
>
> E.g.:
>
> { "execute": "migrate-set-capabilities" ,
> "arguments": { "capabilities":
> [ { "capability": "postcopy-ram", "state": true } ] } }
>
> { "error":
> { "clas
Peter Xu wrote:
> Postcopy requires the memory support userfaultfd to work. Right now we
> check it but it's a bit too late (when switching to postcopy migration).
>
> Do that early right at enabling of postcopy.
>
> Note that this is still only a best effort because ramblocks can be
> dynamicall
Peter Xu wrote:
> The migration object may want to check against different types of memory
> when initialized. Delay the creation to be after late backends.
>
> Signed-off-by: Peter Xu
Reviewed-by: Juan Quintela
We are moving late to early, not the best name O:-)
Peter Xu wrote:
> This new helper fetches file system type for a fd. Only Linux is
> implemented so far. Currently only tmpfs and hugetlbfs is defined, but it
s/is/are/
> can grow per need.
>
> Signed-off-by: Peter Xu
Reviewed-by: Juan Quintela
...
> +#include
...
> +case TMPFS_MAG
Am 3. April 2023 07:41:19 UTC schrieb Bernhard Beschow :
>When calling pci_bus_irqs() multiple times on the same object without calling
>pci_bus_irqs_cleanup() in between PCIBus::irq_count[] is currently leaked.
>Let's fix this because Xen will do just that in a few commits, and because
>calling
On Wed, Apr 19, 2023 at 06:24:03PM +0200, Juan Quintela wrote:
> Juan Quintela (12):
> migration: Merge ram_counters and ram_atomic_counters
> migration: Update atomic stats out of the mutex
> migration: Make multifd_bytes atomic
> migration: Make dirty_sync_missed_zero_copy atomic
> migr
On Wed, Apr 19, 2023 at 06:12:05PM +0100, Daniel P. Berrangé wrote:
> On Tue, Apr 18, 2023 at 03:26:45PM -0400, Peter Xu wrote:
> > On Tue, Apr 18, 2023 at 05:58:44PM +0100, Daniel P. Berrangé wrote:
> > > Libvirt has multiple APIs where it currently uses its migrate-to-file
> > > approach
> > >
>
On Wed, Apr 19, 2023 at 01:28:17PM -0400, Stefan Hajnoczi wrote:
> virtio_queue_aio_detach_host_notifier() does two things:
> 1. It removes the fd handler from the event loop.
> 2. It processes the virtqueue one last time.
>
> The first step can be peformed by any thread and without taking the
> A
On Wed, Apr 19, 2023 at 1:50 PM Hawkins Jiawei wrote:
>
> This patch introduces the vhost_vdpa_net_cvq_add() and
> refactors the vhost_vdpa_net_load*(), so that QEMU can
> send CVQ state load commands in parallel.
>
> To be more specific, this patch introduces vhost_vdpa_net_cvq_add()
> to add SVQ
vhost_user_server_stop() uses AIO_WAIT_WHILE(). AIO_WAIT_WHILE()
requires that AioContext is only acquired once.
Since blk_exp_request_shutdown() already acquires the AioContext it
shouldn't be acquired again in vhost_user_server_stop().
Signed-off-by: Stefan Hajnoczi
---
util/vhost-user-server
The VuServer object has a refcount field and ref/unref APIs. The name is
confusing because it's actually an in-flight request counter instead of
a refcount.
Normally a refcount destroys the object upon reaching zero. The VuServer
counter is used to wake up the vhost-user coroutine when there are n
v2:
- Do not rely on BlockBackend request queuing, implement .drained_begin/end()
instead in xen-block, virtio-blk, and virtio-scsi [Paolo]
- Add qdev_is_realized() API [Philippe]
- Add patch to avoid AioContext lock around blk_exp_ref/unref() [Paolo]
- Add patch to call .drained_begin/end() from
Only report a transport reset event to the guest after the SCSIDevice
has been unrealized by qdev_simple_device_unplug_cb().
qdev_simple_device_unplug_cb() sets the SCSIDevice's qdev.realized field
to false so that scsi_device_find/get() no longer see it.
scsi_target_emulate_report_luns() also ne
vduse_blk_detach_ctx() waits for in-flight requests using
AIO_WAIT_WHILE(). This is not allowed according to a comment in
bdrv_set_aio_context_commit():
/*
* Take the old AioContex when detaching it from bs.
* At this point, new_context lock is already acquired, and we are now
* also ta
This patch is part of an effort to remove the aio_disable_external()
API because it does not fit in a multi-queue block layer world where
many AioContexts may be submitting requests to the same disk.
The SCSI emulation code is already in good shape to stop using
aio_disable_external(). It was only
This is part of ongoing work to remove the aio_disable_external() API.
Use BlockDevOps .drained_begin/end/poll() instead of
aio_set_fd_handler(is_external=true).
As a side-effect the FUSE export now follows AioContext changes like the
other export types.
Signed-off-by: Stefan Hajnoczi
---
bloc
Detach event channels during drained sections to stop I/O submission
from the ring. xen-block is no longer reliant on aio_disable_external()
after this patch. This will allow us to remove the
aio_disable_external() API once all other code that relies on it is
converted.
Extend xen_device_set_event
The FUSE export calls blk_exp_ref/unref() without the AioContext lock.
Instead of fixing the FUSE export, adjust blk_exp_ref/unref() so they
work without the AioContext lock. This way it's less error-prone.
Suggested-by: Paolo Bonzini
Signed-off-by: Stefan Hajnoczi
---
include/block/export.h
vhost-user activity must be suspended during bdrv_drained_begin/end().
This prevents new requests from interfering with whatever is happening
in the drained section.
Previously this was done using aio_set_fd_handler()'s is_external
argument. In a multi-queue block layer world the aio_disable_exter
There is no need to suspend activity between aio_disable_external() and
aio_enable_external(), which is mainly used for the block layer's drain
operation.
This is part of ongoing work to remove the aio_disable_external() API.
Reviewed-by: David Woodhouse
Signed-off-by: Stefan Hajnoczi
---
hw/i
Each vhost-user-blk request runs in a coroutine. When the BlockBackend
enters a drained section we need to enter a quiescent state. Currently
any in-flight requests race with bdrv_drained_begin() because it is
unaware of vhost-user-blk requests.
When blk_co_preadv/pwritev()/etc returns it wakes th
virtio_queue_aio_detach_host_notifier() does two things:
1. It removes the fd handler from the event loop.
2. It processes the virtqueue one last time.
The first step can be peformed by any thread and without taking the
AioContext lock.
The second step may need the AioContext lock (depending on t
1 - 100 of 196 matches
Mail list logo