On Wed, Mar 02, 2022 at 07:38:52PM +, Dr. David Alan Gilbert wrote:
> * Daniel P. Berrangé (berra...@redhat.com) wrote:
> > On Tue, Mar 01, 2022 at 07:54:32PM +, Dr. David Alan Gilbert (git)
> > wrote:
> > > From: "Dr. David Alan Gilbert"
> > >
> > > Declare the intent to require a machi
On 3/2/22 17:22, David Miller wrote:
resolves: https://gitlab.com/qemu-project/qemu/-/issues/738
implements:
VECTOR LOAD ELEMENTS REVERSED (VLER)
VECTOR LOAD BYTE REVERSED ELEMENTS (VLBR)
VECTOR LOAD BYTE REVERSED ELEMENT (VLEBRH, VLEBRF, VLEBRG)
VECTOR LOAD BYTE
03.03.2022 05:21, Rao Lei wrote:
During the stress test, the IO request coroutine has a probability that it
can't be awakened when the NBD server is killed.
The GDB statck is as follows:
(gdb) bt
0 0x7f2ff990cbf6 in __ppoll (fds=0x55575de85000, nfds=1, timeout=, sigmask=0x0) at ../sysdeps/u
On Thu, Mar 3, 2022 at 8:12 AM Jason Wang wrote:
>
>
> 在 2022/3/2 上午2:49, Eugenio Perez Martin 写道:
> > On Mon, Feb 28, 2022 at 3:57 AM Jason Wang wrote:
> >> 在 2022/2/27 下午9:40, Eugenio Pérez 写道:
> >>> At this mode no buffer forwarding will be performed in SVQ mode: Qemu
> >>> will just forward t
On Wed, Mar 02, 2022 at 07:03:15PM +0100, Sergio Lopez wrote:
> Since QEMU is already able to emulate ioeventfd using pipefd, we're already
> pretty close to supporting vhost-user on non-Linux systems.
>
> This two patches bridge the gap by:
>
> 1. Adding a new event_notifier_get_wfd() to return
On Wed, 2 Mar 2022 19:30:39 +0100
Christian Schoenebeck wrote:
> API doc comments in QEMU are supposed to be in kerneldoc format, so drop
> occurrences of "@c" which is Doxygen format for fixed-width text.
>
> Link:
> https://lore.kernel.org/qemu-devel/cafeaca89+enom6x19oef53kd2dwkhn5sn21va0d7y
On Thu, Mar 3, 2022 at 7:09 AM Markus Armbruster wrote:
>
> Eugenio Pérez writes:
>
> > Finally offering the possibility to enable SVQ from the command line.
> >
> > Signed-off-by: Eugenio Pérez
> > ---
> > qapi/net.json| 5 -
> > net/vhost-vdpa.c | 48 +
> This looks wrong. Of course, so does nios2_cpu_set_irq, from which you've
> cribbed this.
> For our purposes, I think simply re-using env->regs[CR_IPENDING] as the
> external hw
> request word is the right thing to do. But we need to update RDCTL to
> compute the
> correct value from CR_IP
Assigning a NVMe disk by VFIO or emulating a NVMe controller by QEMU,
a NVMe disk get exposed in guest side. Support NVMe disk bus type and
implement posix version.
Test PCI passthrough case:
~#virsh qemu-agent-command buster '{"execute":"guest-get-disks"}' | jq
...
{
"name": "/dev/nvm
On Thu, Mar 3, 2022 at 2:01 PM zhenwei pi wrote:
> Assigning a NVMe disk by VFIO or emulating a NVMe controller by QEMU,
> a NVMe disk get exposed in guest side. Support NVMe disk bus type and
> implement posix version.
>
> Test PCI passthrough case:
> ~#virsh qemu-agent-command buster '{"execute
On Wed, Mar 2, 2022 at 9:22 PM Alistair Francis wrote:
>
> On Sat, Feb 19, 2022 at 10:34 AM Atish Patra wrote:
> >
> > From: Atish Patra
> >
> > The predicate function calculates the counter index incorrectly for
> > hpmcounterx. Fix the counter index to reflect correct CSR number.
> >
> > Fixes
On Thu, 3 Mar 2022 at 09:54, Amir Gonnen wrote:
>
> > This looks wrong. Of course, so does nios2_cpu_set_irq, from which you've
> > cribbed this.
>
> > For our purposes, I think simply re-using env->regs[CR_IPENDING] as the
> > external hw
> > request word is the right thing to do. But we nee
With the command line flag -mplt and a recent toolchain, ELF binaries
generated by gcc can obtain EI_ABIVERSION=1, see below, which makes, e.g.,
gcc three-stage bootstrap in a mips-unknown-linux-gnu qemu-user chroot
fail since the binfmt-misc magic does not match anymore.
qemu executes these binar
From: Hyman Huang(黄勇)
Dirtylimit implementation has been reviewed in the past few months, if
things go well, it will be merged in the near future, which is the first
step to implement a new live migration feature. For more details refer to:
https://lore.kernel.org/qemu-devel/cover.1646247968.git
From: Hyman Huang(黄勇)
Signed-off-by: Hyman Huang(黄勇)
---
migration/migration.c | 19 +++
migration/migration.h | 1 +
migration/ram.c | 24
qapi/migration.json | 36 +++-
4 files changed, 75 insertions(+), 5 delet
"Sent by accident, please ignore, I'll send v1 when ready."
在 2022/3/3 18:45, huang...@chinatelecom.cn 写道:
From: Hyman Huang(黄勇)
Signed-off-by: Hyman Huang(黄勇)
---
migration/migration.c | 19 +++
migration/migration.h | 1 +
migration/ram.c | 24
From: Hyman Huang(黄勇)
v1:
-original version sent by accident, send the right patch
Dirtylimit implementation has been reviewed in the past few months, if
things go well, it will be merged in the near future, which is the first
step to implement a new live migration feature. For more details refe
On Donnerstag, 3. März 2022 10:53:32 CET Greg Kurz wrote:
> On Wed, 2 Mar 2022 19:30:39 +0100
>
> Christian Schoenebeck wrote:
> > API doc comments in QEMU are supposed to be in kerneldoc format, so drop
> > occurrences of "@c" which is Doxygen format for fixed-width text.
> >
> > Link:
> > http
From: Hyman Huang(黄勇)
Guestperf tool does not enable diry ring feature when test
migration by default.
To support dirty ring migration performance test, introduce
dirty-ring-size option into guestperf tools, which ranges in
[1024, 65536].
To set dirty ring size with 4096 during migration test:
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote:
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/tests/image-fleecing | 120 ++--
tests/qemu-iotests/tests/image-fleecing.out | 63 ++
2 files changed, 151 insertions(+), 32 deletions(-)
di
Ping !
It would be good to have some feedback on 1st and 2nd part.
Thanks,
Damien
On 2/23/22 10:06, Damien Hedde wrote:
Hi,
This series adds initial support to build a machine using QMP/QAPI
commands. With this series, one can start from the 'none' machine,
create cpus, sysbus devices, memory
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote:
The new block driver simply utilizes snapshot-access API of underlying
block node.
In further patches we want to use it like this:
[guest] [NBD export]
||
| root |
On 03.03.22 12:05, Hanna Reitz wrote:
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote:
The new block driver simply utilizes snapshot-access API of underlying
block node.
In further patches we want to use it like this:
[guest] [NBD export]
|
On Mar 1 06:54, Keith Busch wrote:
> On Tue, Mar 01, 2022 at 11:44:22AM +0100, Klaus Jensen wrote:
> > From: Klaus Jensen
> >
> > This adds support for one possible new protection information format
> > introduced in TP4068 (and integrated in NVMe 2.0): the 64-bit CRC guard
> > and 48-bit refere
On Thu, 03 Mar 2022 11:55:36 +0100
Christian Schoenebeck wrote:
> On Donnerstag, 3. März 2022 10:53:32 CET Greg Kurz wrote:
> > On Wed, 2 Mar 2022 19:30:39 +0100
> >
> > Christian Schoenebeck wrote:
> > > API doc comments in QEMU are supposed to be in kerneldoc format, so drop
> > > occurrences
On Thu, Mar 3, 2022 at 8:33 AM Jason Wang wrote:
>
>
> 在 2022/3/1 下午4:50, Eugenio Perez Martin 写道:
> > On Mon, Feb 28, 2022 at 8:37 AM Jason Wang wrote:
> >>
> >> 在 2022/2/27 下午9:41, Eugenio Pérez 写道:
> >>> Use translations added in VhostIOVATree in SVQ.
> >>>
> >>> Only introduce usage here, not
For VLD3 (single 3-element structure to one lane), there is no
alignment specification and the alignment bits in the instruction
must be zero. This is bit [4] for the size=0 and size=1 cases, and
bits [5:4] for the size=2 case. We do this check correctly in
VLDST_single(), but we write it a bit o
In the Neon VLD*/VST* "load/store single N-element structure to/from
one lane" instructions the encodings include bits to specify a
"stride" value, which specifies the separation between the Neon
registers which hold the different elements of the structure. For
VLD1/VST1 there is only a single ele
For VLD1/VST1 (single element to one lane) we are only accessing one
register, and so the 'stride' is meaningless. The bits that would
specify stride (insn bit [4] for size=1, bit [6] for size=2) are
specified to be zero in the encoding (which would correspond to a
stride of 1 for VLD2/VLD3/VLD4 e
Hello,
On Mon, Feb 14, 2022 at 12:43:52PM +, Jean-Philippe Brucker wrote:
> Replace the VIRTIO_IOMMU_F_BYPASS feature with
> VIRTIO_IOMMU_F_BYPASS_CONFIG, which enables a config space bit to switch
> global bypass on and off.
>
> Add a boot-bypass option, which defaults to 'on' to be in line
On Thu, 3 Mar 2022 at 11:37, Peter Maydell wrote:
>
> For VLD1/VST1 (single element to one lane) we are only accessing one
> register, and so the 'stride' is meaningless. The bits that would
> specify stride (insn bit [4] for size=1, bit [6] for size=2) are
This should say "bit [5] for size=1".
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote:
Note that reads zero areas (not dirty in the bitmap) fails, that's
correct.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/tests/image-fleecing | 32 ++--
tests/qemu-iotests/tests/image-fleecing.out | 84 +
Eugenio Perez Martin writes:
> On Thu, Mar 3, 2022 at 7:09 AM Markus Armbruster wrote:
>>
>> Eugenio Pérez writes:
>>
>> > Finally offering the possibility to enable SVQ from the command line.
>> >
>> > Signed-off-by: Eugenio Pérez
>> > ---
>> > qapi/net.json| 5 -
>> > net/vhost-vdp
Since QEMU is already able to emulate ioeventfd using pipefd, we're already
pretty close to supporting vhost-user on non-Linux systems.
This two patches bridge the gap by:
1. Adding a new event_notifier_get_wfd() to return wfd on the places where
the peer is expected to write to the notifier.
event_notifier_get_fd(const EventNotifier *e) always returns
EventNotifier's read file descriptor (rfd). This is not a problem when
the EventNotifier is backed by a an eventfd, as a single file
descriptor is used both for reading and triggering events (rfd ==
wfd).
But, when EventNotifier is backe
With the possibility of using a pipe pair via qemu_pipe() as a
replacement on operating systems that doesn't support eventfd,
vhost-user can also work on all POSIX systems.
This change allows enabling vhost-user on all non-Windows platforms
and makes libvhost_user (which still depends on eventfd)
huang...@chinatelecom.cn writes:
> From: Hyman Huang(黄勇)
>
> Implement dirtyrate calculation periodically basing on
> dirty-ring and throttle virtual CPU until it reachs the quota
> dirty page rate given by user.
>
> Introduce qmp commands "set-vcpu-dirty-limit",
> "cancel-vcpu-dirty-limit", "que
When ioeventfd is emulated using qemu_pipe(), only EventNotifier's wfd
can be used for writing.
Use the recently introduced event_notifier_get_wfd() function to
obtain the fd that our peer must use to signal the vring.
Signed-off-by: Sergio Lopez
---
hw/virtio/vhost.c | 6 +++---
1 file changed
Add a section explaining how vhost-user is supported on platforms
other than Linux.
Signed-off-by: Sergio Lopez
---
docs/interop/vhost-user.rst | 18 ++
1 file changed, 18 insertions(+)
diff --git a/docs/interop/vhost-user.rst b/docs/interop/vhost-user.rst
index edc3ad84a3..590a
Thank you for the script!
>
> Error: bdrv_get_full_backing_filename() is IO_CODE(), but calls
> GLOBAL_STATE_CODE() code
>bdrv_get_full_backing_filename() -> bdrv_make_absolute_filename() ->
> bdrv_dirname() -> GLOBAL_STATE_CODE()
So this was something you caught in the first pass of r
Am 22.02.2022 um 15:01 hat Stefan Hajnoczi geschrieben:
> v5:
> - Added explicit "#include "qemu/coroutine-tls.h" in patch 4 [Philippe]
> - Updated patch 1 commit description and comments to describe the current
> noinline plus asm volatile approach [Peter]
> v4:
> - Dropped '[RFC]'.
> - Dropped
在 2022/3/3 20:02, Markus Armbruster 写道:
huang...@chinatelecom.cn writes:
From: Hyman Huang(黄勇)
Implement dirtyrate calculation periodically basing on
dirty-ring and throttle virtual CPU until it reachs the quota
dirty page rate given by user.
Introduce qmp commands "set-vcpu-dirty-limit",
On Dienstag, 1. März 2022 21:33:49 CET Christian Schoenebeck wrote:
> Function qemu_dirent_dup() is currently only used by 9pfs server, so move
> it from project global header osdep.h to 9pfs specific header 9p-util.h.
>
> Link:
> https://lore.kernel.org/qemu-devel/CAFEAcA_=HAUNomKD2wurSVaAHa5mrk2
On Mittwoch, 2. März 2022 19:30:39 CET Christian Schoenebeck wrote:
> API doc comments in QEMU are supposed to be in kerneldoc format, so drop
> occurrences of "@c" which is Doxygen format for fixed-width text.
>
> Link:
> https://lore.kernel.org/qemu-devel/CAFEAcA89+ENOM6x19OEF53Kd2DWkhN5SN21Va0D
Philippe Mathieu-Daudé writes:
> On 25/2/22 22:01, Cleber Rosa wrote:
>> Being explicit about the accelerator used on these tests is a good
>> thing in itself, but it will also be used in the filtering rules
>> applied on "make check-avocado".
>> Signed-off-by: Cleber Rosa
>> ---
>> tests/av
Disconnect3d writes:
> This commit adds support for `info proc mappings` and a few other commands
> into
> the QEMU user-mode emulation gdbstub.
>
> For that, support for the following GDB remote protocol commands has been
> added:
> * vFile:setfs: pid
> * vFile:open: filename, flags, mode
>
Thomas Huth writes:
> "make clean" should clear all binaries that have been built, but so
> far it left the TCG tests still in place. Let's make sure that they
> are now removed, too.
Queued to for-7.0/misc-bits, thanks.
--
Alex Bennée
On 03.03.22 12:44, Hanna Reitz wrote:
On 28.02.22 12:39, Vladimir Sementsov-Ogievskiy wrote:
Note that reads zero areas (not dirty in the bitmap) fails, that's
correct.
Signed-off-by: Vladimir Sementsov-Ogievskiy
---
tests/qemu-iotests/tests/image-fleecing | 32 ++--
tests/qemu-iote
On Wed, Mar 02, 2022 at 05:32:07PM +0100, Jason A. Donenfeld wrote:
> Hi Michael,
>
> On Wed, Mar 02, 2022 at 11:22:46AM -0500, Michael S. Tsirkin wrote:
> > > Because that 16 byte read of vmgenid is not atomic. Let's say you read
> > > the first 8 bytes, and then the VM is forked.
> >
> > But at
On 3/3/22 10:58, zhenwei pi wrote:
Assigning a NVMe disk by VFIO or emulating a NVMe controller by QEMU,
a NVMe disk get exposed in guest side. Support NVMe disk bus type and
implement posix version.
Test PCI passthrough case:
~#virsh qemu-agent-command buster '{"execute":"guest-get-disks"}' | j
On 23/2/22 10:12, Damien Hedde wrote:
Hi Philippe,
I suppose it is ok if I change your mail in the reviewed by ?
No, the email is fine (git tools should take care of using the
correct email via the .mailmap entry, see commit 90f285fd83).
Thanks,
Damien
On 2/23/22 10:07, Damien Hedde wrote:
On Thu, Mar 03, 2022 at 01:07:54PM +0100, Kevin Wolf wrote:
> Am 22.02.2022 um 15:01 hat Stefan Hajnoczi geschrieben:
> > v5:
> > - Added explicit "#include "qemu/coroutine-tls.h" in patch 4 [Philippe]
> > - Updated patch 1 commit description and comments to describe the current
> > noinline plus
On 3/3/2022 5:25 PM, Vladimir Sementsov-Ogievskiy wrote:
03.03.2022 05:21, Rao Lei wrote:
During the stress test, the IO request coroutine has a probability that it
can't be awakened when the NBD server is killed.
The GDB statck is as follows:
(gdb) bt
0 0x7f2ff990cbf6 in __ppoll (fds=0
API doc comments in QEMU are supposed to be in kerneldoc format, so
convert API doc comments from Doxygen format to kerneldoc format.
Signed-off-by: Christian Schoenebeck
---
hw/9pfs/9p-util.h | 10 +-
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/hw/9pfs/9p-util.h b/hw/9
API doc comments in QEMU are supposed to be in kerneldoc format, so
convert API doc comments from Doxygen format to kerneldoc format.
Signed-off-by: Christian Schoenebeck
---
hw/9pfs/codir.c | 30 +++---
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/hw/9
API doc comments in QEMU are supposed to be in kerneldoc format, so
convert API doc comments from Doxygen format to kerneldoc format.
Based-on:
Signed-off-by: Christian Schoenebeck
---
hw/9pfs/9p.h | 12 ++--
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/hw/9pfs/9p.h b/h
API doc comments in QEMU are supposed to be in kerneldoc format, so
drop Doxygen format used on v9fs_co_run_in_worker() macro.
Signed-off-by: Christian Schoenebeck
---
hw/9pfs/coth.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/hw/9pfs/coth.h b/hw/9pfs/coth.h
index f83
API doc comments in QEMU are supposed to be in kerneldoc format, so
convert API doc comments from Doxygen format to kerneldoc format.
Signed-off-by: Christian Schoenebeck
---
hw/9pfs/9p.c | 62 +---
1 file changed, 35 insertions(+), 27 deletions(-)
This patch set converts occurrences of API doc comments from Doxygen format
into kerneldoc format. No behaviour change whatsoever.
Christian Schoenebeck (6):
9pfs/9p.h: convert Doxygen -> kerneldoc format
9pfs/codir.c: convert Doxygen -> kerneldoc format
9pfs/9p.c: convert Doxygen -> kerneld
API doc comments in QEMU are supposed to be in kerneldoc format, so
convert API doc comments from Doxygen format to kerneldoc format.
Signed-off-by: Christian Schoenebeck
---
fsdev/p9array.h | 38 +-
1 file changed, 21 insertions(+), 17 deletions(-)
diff --gi
On Thu, Mar 03, 2022 at 12:59:11PM +0100, Sergio Lopez wrote:
> Add a section explaining how vhost-user is supported on platforms
> other than Linux.
>
> Signed-off-by: Sergio Lopez
> ---
> docs/interop/vhost-user.rst | 18 ++
> 1 file changed, 18 insertions(+)
>
> diff --git a/
On 23/2/22 10:06, Damien Hedde wrote:
The none machine was using the parent state structure.
We'll need a custom state to add a field in the following commit.
Signed-off-by: Damien Hedde
---
hw/core/null-machine.c | 24 ++--
1 file changed, 22 insertions(+), 2 deletions(-
On Thu, Mar 03, 2022 at 12:59:07PM +0100, Sergio Lopez wrote:
> Since QEMU is already able to emulate ioeventfd using pipefd, we're already
> pretty close to supporting vhost-user on non-Linux systems.
>
> This two patches bridge the gap by:
>
> 1. Adding a new event_notifier_get_wfd() to return
Hi Stefan,
On 2/8/22 6:58 PM, Eric Auger wrote:
> Hi Stefan,
>
> On 2/8/22 6:16 PM, Stefan Berger wrote:
>>
>> On 2/8/22 08:38, Eric Auger wrote:
>>> Representing the CRB cmd/response buffer as a standard
>>> RAM region causes some trouble when the device is used
>>> with VFIO. Indeed VFIO attemp
On 23/2/22 10:07, Damien Hedde wrote:
Add the property to configure a the base address of the ram.
The default value remains zero.
This commit is needed to use the 'none' machine as a base, and
subsequently to dynamically populate it using qapi commands. Having
a non null 'ram' is really hard to
On 23/2/22 10:07, Damien Hedde wrote:
Allow plugging any sysbus device on this machine (the sysbus
devices still need to be 'user-creatable').
This commit is needed to use the 'none' machine as a base, and
subsequently to dynamically populate it with sysbus devices using
qapi commands.
Note tha
On Wed, 2 Mar 2022 at 18:32, Dr. David Alan Gilbert (git)
wrote:
>
> From: "Dr. David Alan Gilbert"
>
> The following changes since commit 64ada298b98a51eb2512607f6e6180cb330c47b1:
>
> Merge remote-tracking branch 'remotes/legoater/tags/pull-ppc-20220302' into
> staging (2022-03-02 12:38:46 +0
> On Mar 2, 2022, at 11:49 AM, Stefan Hajnoczi wrote:
>
> On Mon, Feb 28, 2022 at 07:54:38PM +, Jag Raman wrote:
>>
>>
>>> On Feb 22, 2022, at 5:40 AM, Stefan Hajnoczi wrote:
>>>
>>> On Thu, Feb 17, 2022 at 02:48:59AM -0500, Jagannathan Raman wrote:
+struct RemoteIommuElem {
Upon freeing a thread pool we need to get rid of any remaining worker.
This is achieved by setting the thread pool's topping flag, waking the
workers up, and waiting for them to exit one by one. The problem is that
currently all this process happens with the thread pool lock held,
effectively block
As discussed on the previous RFC[1] the thread-pool's dynamic thread
management doesn't play well with real-time and latency sensitive
systems. This series introduces a set of controls that'll permit
achieving more deterministic behaviours, for example by fixing the
pool's size.
We first introduce
On 23/2/22 10:07, Damien Hedde wrote:
This command allows to map an mmio region of sysbus device onto
the system memory. Its behavior mimics the sysbus_mmio_map()
function apart from the automatic unmap (the C function unmaps
the region if it is already mapped).
For the qapi function we consider
'event-loop-base' provides basic property handling for all 'AioContext'
based event loops. So let's define a new 'MainLoopClass' that inherits
from it. This will permit tweaking the main loop's properties through
qapi as well as through the command line using the '-object' keyword[1].
Only one inst
On 23/2/22 10:06, Damien Hedde wrote:
phase_until() now supports the following transitions:
+ accel-created -> machine-initialized
+ machine-initialized -> machine-ready
As a consequence we can now support the use of qmp_exit_preconfig()
from phases _accel-created_ and _machine-initialized_.
Th
Introduce the 'event-loop-base' abstract class, it'll hold the
properties common to all event loops and provide the necessary hooks for
their creation and maintenance. Then have iothread inherit from it.
EventLoopBaseClass is defined as user creatable and provides a hook for
its children to attach
On 23/2/22 10:06, Damien Hedde wrote:
phase_get() returns the current phase, we'll use it in next
commit.
Signed-off-by: Damien Hedde
---
include/hw/qdev-core.h | 19 +++
hw/core/qdev.c | 5 +
2 files changed, 24 insertions(+)
Reviewed-by: Philippe Mathieu-Dau
On 23/2/22 10:06, Damien Hedde wrote:
Instead of checking the phase everytime, just store the result
in a flag. We will use more of it in the following commit.
Signed-off-by: Damien Hedde
---
softmmu/qdev-monitor.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
Reviewed-by: Phi
On Sun, 27 Feb 2022 at 02:10, Richard Henderson
wrote:
>
> AArch64 has both sign and zero-extending addressing modes, which
> means that either treatment of guest addresses is equally efficient.
> Enabling this for AArch64 gives us testing of the feature in CI.
>
> Signed-off-by: Richard Henderson
On Mon, 28 Feb 2022 23:26:05 -0300
Marcelo Schmitt wrote:
> Hi,
>
> I'd like to know the opinion of the QEMU community on some topics.
>
> In 2021, a pair of patch sets for drivers of the Linux IIO subsystem was
> proposed based on some QEMU hacks that added virtual devices with which
> it was
The thread pool regulates itself: when idle, it kills threads until
empty, when in demand, it creates new threads until full. This behaviour
doesn't play well with latency sensitive workloads where the price of
creating a new thread is too high. For example, when paired with qemu's
'-mlock', or usi
On Sun, 27 Feb 2022 at 02:08, Richard Henderson
wrote:
>
> While the host may prefer to treat 32-bit addresses as signed,
> there are edge cases of guests that cannot be implemented with
> addresses 0x7fff_ and 0x8000_ being non-consecutive.
>
> Therefore, default to guest_base_signed_addr
+Mark / Daniel / Markus / Alex for design.
On 25/2/22 16:31, Damien Hedde wrote:
On 2/25/22 12:38, Igor Mammedov wrote:
On Thu, 24 Feb 2022 12:43:21 +0100
Damien Hedde wrote:
On 2/24/22 10:55, Igor Mammedov wrote:
On Wed, 23 Feb 2022 11:19:49 +0100
Damien Hedde wrote:
On 2/23/22 10:44, Igo
All the global state (GS) API functions will check that
qemu_in_main_thread() returns true. If not, it means
that the safety of BQL cannot be guaranteed, and
they need to be moved to I/O.
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c| 124 +
All the global state (GS) API functions will check that
qemu_in_main_thread() returns true. If not, it means
that the safety of BQL cannot be guaranteed, and
they need to be moved to I/O.
Signed-off-by: Emanuele Giuseppe Esposito
---
block/block-backend.c | 78 ++
On Sun, 27 Feb 2022 at 02:08, Richard Henderson
wrote:
>
> When TCG_TARGET_SIGNED_ADDR32 is set, adjust the tlb addend to
> allow the 32-bit guest address to be sign extended within the
> 64-bit host register instead of zero extended.
>
> This will simplify tcg hosts like MIPS, RISC-V, and LoongAr
When invoked from the main loop, this function is the same
as qemu_mutex_iothread_locked, and returns true if the BQL is held.
When invoked from iothreads or tests, it returns true only
if the current AioContext is the Main Loop.
This essentially just extends qemu_mutex_iothread_locked to work
als
Now that we "covered" the three main cases where the
permission API was being used under BQL (fuse,
amend and invalidate_cache), we can safely assert for
the permission functions implemented in block.c
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c | 12
1 file changed, 12 in
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c | 15 +++
block/backup.c | 1 +
block/block-backend.c | 3 +++
block/commit.c | 2 ++
block/dirty-bitmap.c| 1 +
block/io.c |
Currently, block layer APIs like block.h contain a mix of
functions that are either running in the main loop and under the
BQL, or are thread-safe functions and run in iothreads performing I/O.
The functions running under BQL also take care of modifying the
block graph, by using drain and/or aio_co
Righ now, IO_CODE and IO_OR_GS_CODE are nop, as there isn't
really a way to check that a function is only called in I/O.
On the other side, we can use qemu_in_main_thread() to check if
we are in the main loop.
The usage of macros makes easy to extend them in the future without
making changes in al
Similarly to the previous patch, split block_int.h
in block_int-io.h and block_int-global-state.h
block_int-common.h contains the structures shared between
the two headers, and the functions that can't be categorized as
I/O or global state.
Assertions are added in the next patch.
Signed-off-by:
block.h currently contains a mix of functions:
some of them run under the BQL and modify the block layer graph,
others are instead thread-safe and perform I/O in iothreads.
Some others can only be called by either the main loop or the
iothread running the AioContext (and not other iothreads),
and u
We want to be sure that the functions that write the child and
parent list of a bs are under BQL and drain.
BQL prevents from concurrent writings from the GS API, while
drains protect from I/O.
TODO: drains are missing in some functions using this assert.
Therefore a proper assertion will fail. B
Similarly to the previous patches, split block-backend.h
in block-backend-io.h and block-backend-global-state.h
In addition, remove "block/block.h" include as it seems
it is not necessary anymore, together with "qemu/iov.h"
block-backend-common.h contains the structures shared between
the two hea
Mark all I/O functions with IO_CODE, and all "I/O OR GS" with
IO_OR_GS_CODE.
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c | 38 ++-
block/dirty-bitmap.c | 1 +
block/io.c | 43 ++--
i
Mark all I/O functions with IO_CODE, and all "I/O OR GS" with
IO_OR_GS_CODE.
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c | 14 +-
block/block-backend.c| 2 ++
block/dirty-bitmap.c | 3 +++
block/io.c | 13
Since the I/O functions are not many, keep a single file.
Also split the function pointers in BlockJobDriver.
Signed-off-by: Emanuele Giuseppe Esposito
Reviewed-by: Stefan Hajnoczi
---
include/block/blockjob_int.h | 28
1 file changed, 28 insertions(+)
diff --git a
Signed-off-by: Emanuele Giuseppe Esposito
---
blockjob.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/blockjob.c b/blockjob.c
index 10815a89fe..d79a52d204 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -84,6 +84,7 @@ BlockJob *block_job_get(const char *id)
void block_job_free(Job *job)
blockjob functions run always under the BQL lock.
Signed-off-by: Emanuele Giuseppe Esposito
---
include/block/blockjob.h | 29 ++---
1 file changed, 22 insertions(+), 7 deletions(-)
diff --git a/include/block/blockjob.h b/include/block/blockjob.h
index 87fbb3985f..6525e1
Allow writable exports to get BLK_PERM_RESIZE permission
from creation, in fuse_export_create().
In this way, there is no need to give the permission in
fuse_do_truncate(), which might be run in an iothread.
Permissions should be set only in the main thread, so
in any case if an iothread tries to
Signed-off-by: Emanuele Giuseppe Esposito
---
block.c | 10 +-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/block.c b/block.c
index 5afdbe3060..01811d6519 100644
--- a/block.c
+++ b/block.c
@@ -1497,7 +1497,7 @@ const BdrvChildClass child_of_bds = {
AioContext *bdrv_chi
1 - 100 of 382 matches
Mail list logo