[PATCH 1/3] osdep: Make qemu_madvise() to set errno in all cases

2024-05-28 Thread Michal Privoznik
a negative value on error, just like other error paths do. Signed-off-by: Michal Privoznik --- util/osdep.c | 7 ++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/util/osdep.c b/util/osdep.c index e996c4744a..e42f4e8121 100644 --- a/util/osdep.c +++ b/util/osdep.c @@ -57,7 +57,12 @@ int

[PATCH 0/3] backends/hostmem: Round up memory size for qemu_madvise() and mbind()

2024-05-28 Thread Michal Privoznik
() failure - Size is rounded up in case of live change of corresponding attributes too Michal Privoznik (3): osdep: Make qemu_madvise() to set errno in all cases backends/hostmem: Warn on qemu_madvise() failures backends/hostmem: Round up memory size for qemu_madvise() and mbind() backends

[PATCH 2/3] backends/hostmem: Warn on qemu_madvise() failures

2024-05-28 Thread Michal Privoznik
at least. Signed-off-by: Michal Privoznik --- backends/hostmem.c | 27 +++ 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/backends/hostmem.c b/backends/hostmem.c index eb9682b4a8..1a6fd1c714 100644 --- a/backends/hostmem.c +++ b/backends/hostmem.c @@ -14,6 +14,7

[PATCH 3/3] backends/hostmem: Round up memory size for qemu_madvise() and mbind()

2024-05-28 Thread Michal Privoznik
of underlying pagesize (2MiB) which triggers a check inside of mbind(), since we can't really set policy just to a fraction of a page. As qemu_madvise() has the same expectation, round size passed to underlying pagesize. Signed-off-by: Michal Privoznik --- backends/hostmem.c | 11 +++ 1 fil

[PATCH] hostmem: Round up memory size for qemu_madvise() in host_memory_backend_memory_complete()

2023-11-27 Thread Michal Privoznik
of underlying pagesize (2MiB) which triggers a check inside of madvise(), since we can't really set a madvise() policy just to a fraction of a page. Signed-off-by: Michal Privoznik --- backends/hostmem.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/backends/hostme

[PATCH] configure: check for $download value properly

2023-06-07 Thread Michal Privoznik
bled Drop the '-f' to check for the actual value of the variable. Fixes: 2019cabfee0 Signed-off-by: Michal Privoznik --- configure | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure index 8765b88e12..8a638dd82a 100755 --- a/configure +++ b/configure @@ -76

[PATCH v3] meson: Avoid implicit declaration of functions

2023-05-30 Thread Michal Privoznik
()' or whether STATX_* macros exist via 'cc.has_header_symbol()'. 1: https://wiki.gentoo.org/wiki/Modern_C_porting Resolves: https://bugs.gentoo.org/898810 Signed-off-by: Michal Privoznik --- v3 of https://lists.gnu.org/archive/html/qemu-devel/2023-05/msg07210.html diff to v2: - Expanded commit message

[PATCH v2] meson: Avoid implicit declaration of functions

2023-05-29 Thread Michal Privoznik
: implicit declaration of function 'malloc_trim' [-Wimplicit-function-declaration] We can check whether given function exists via 'cc.has_function()' or whether STATX_* macros exist via 'cc.has_header_symbol()'. Resolves: https://bugs.gentoo.org/898810 Signed-off-by: Michal Privoznik --- v2

[PATCH] meson: Avoid implicit declaration of functions

2023-05-29 Thread Michal Privoznik
of function 'malloc_trim' [-Wimplicit-function-declaration] We can check whether given function exists via 'cc.has_function()' firstly. Resolves: https://bugs.gentoo.org/898810 Signed-off-by: Michal Privoznik --- meson.build | 15 +-- 1 file changed, 9 insertions(+), 6 deletions

[PATCH v2] hostmem: Honor multiple preferred nodes if possible

2022-12-15 Thread Michal Privoznik
s multiple preferred NUMA nodes instead. Then, numa_has_preferred_many() API was introduced to numactl (v2.0.15~26) allowing applications to query kernel support. Wiring this all together, we can pass MPOL_PREFERRED_MANY to the mbind() call instead and stop ignoring multiple nodes, silently. Signed-off-

[PATCH] hostmem: Honour multiple preferred nodes if possible

2022-12-09 Thread Michal Privoznik
to numactl (v2.0.15~26) allowing applications to query kernel support. Wiring this all together, we can pass MPOL_PREFERRED_MANY to the mbind() call instead and stop ignoring multiple nodes, silently. Signed-off-by: Michal Privoznik --- backends/hostmem.c | 28

[PATCH v2] seccomp: Get actual errno value from failed seccomp functions

2022-10-26 Thread Michal Privoznik
() fails, because generic -ECANCELED says nothing. Signed-off-by: Michal Privoznik Reviewed-by: Philippe Mathieu-Daudé --- v2 of: https://lists.gnu.org/archive/html/qemu-devel/2022-10/msg04509.html diff to v1: - added comment when setting SYSRAWRC attribute per Philippe's suggestion

[PATCH] seccomp: Get actual errno value from failed seccomp functions

2022-10-25 Thread Michal Privoznik
() fails, because generic -ECANCELED says nothing. Signed-off-by: Michal Privoznik --- meson.build| 9 + softmmu/qemu-seccomp.c | 9 + 2 files changed, 18 insertions(+) diff --git a/meson.build b/meson.build index b686dfef75..5f114c89d9 100644 --- a/meson.build +++ b

[PATCH v3] configure: Avoid using strings binary

2022-10-14 Thread Michal Privoznik
: comparing __BYTE_ORDER__ against values for little/big endiandness. Bug: https://bugs.gentoo.org/876933 Signed-off-by: Michal Privoznik --- v3 of: https://lists.gnu.org/archive/html/qemu-devel/2022-10/msg02149.html diff to v2: - Check whether __BYTE_ORDER__ is defined prior comparing it - Switch

[PATCH v2] configure: Avoid using strings binary

2022-10-13 Thread Michal Privoznik
: comparing __BYTE_ORDER__ against values for little/big endiandness. Bug: https://bugs.gentoo.org/876933 Signed-off-by: Michal Privoznik --- v2 of: https://lists.gnu.org/archive/html/qemu-devel/2022-10/msg02054.html diff to v1: - Fixed reversed logic - Ditched custom compiler macros in favor

[PATCH] configure: Avoid using strings binary

2022-10-13 Thread Michal Privoznik
on macros they declare. Bug: https://bugs.gentoo.org/876933 Signed-off-by: Michal Privoznik --- configure | 33 ++--- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/configure b/configure index 45ee6f4eb3..91e04635cb 100755 --- a/configure +++ b

[PATCH] util: NUMA aware memory preallocation

2022-05-10 Thread Michal Privoznik
preallocation threads are created and set their affinity according to the attribute. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2074000 Signed-off-by: Michal Privoznik --- backends/hostmem.c | 6 ++-- hw/virtio/virtio-mem.c | 2 +- include/qemu/osdep.h | 2 ++ util/meson.build

[PATCH] qmp: Stabilize preconfig

2021-10-25 Thread Michal Privoznik
The -preconfig option and exit-preconfig command are around for quite some time now. However, they are still marked as unstable. This is suboptimal because it may block some upper layer in consuming it. In this specific case - Libvirt avoids using experimental features. Signed-off-by: Michal

[PATCH 0/2] Two chardev with fdset fixes

2021-08-17 Thread Michal Privoznik
from figuring it out again. NB, I'm not fully convinced that EBADFD is the best value, but anything is better than EACCESS. Michal Privoznik (2): chardev: Propagate error from logfile opening monitor: Report EBADFD if fdset contains invalid FD chardev/char.c | 7 ++- monitor/misc.c | 2

[PATCH 1/2] chardev: Propagate error from logfile opening

2021-08-17 Thread Michal Privoznik
ng complex is happening behind the curtains. But the problem becomes more prominent when passing an "/dev/fdset/XXX" path since much more needs to be done. The fix is to use qemu_create() which passes @errp further down. Signed-off-by: Michal Privoznik --- chardev/char.c | 7 ++

[PATCH 2/2] monitor: Report EBADFD if fdset contains invalid FD

2021-08-17 Thread Michal Privoznik
he problem is that there was no FD within given fdset that was in expected access mode. Therefore, let's set errno to EBADFD, which gives us somewhat better error messages: Could not dup FD for /dev/fdset/3 flags 441: File descriptor in bad state Signed-off-by: Michal Privoznik --- monitor/misc.c | 2

[PATCH 2/2] numa: Parse initiator= attribute before cpus= attribute

2021-07-07 Thread Michal Privoznik
numa hmat-cache,node-id=0,size=10K,level=1,associativity=direct,policy=write-back,line=8 \ -numa hmat-cache,node-id=1,size=10K,level=1,associativity=direct,policy=write-back,line=8 \ Signed-off-by: Michal Privoznik --- hw/core/numa.c | 45 +++-- 1

[PATCH 1/2] numa: Report expected initiator

2021-07-07 Thread Michal Privoznik
an error is being reported). Report both values in the error message. Signed-off-by: Michal Privoznik --- hw/core/machine.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/core/machine.c b/hw/core/machine.c index 57c18f909a..6f59fb0b7f 100644 --- a/hw/core/machine.c +++ b

[PATCH 0/2] numa: Parse initiator= attribute before cpus= attribute

2021-07-07 Thread Michal Privoznik
See 2/2 for explanation. The first patch is just cosmetics. Michal Privoznik (2): numa: Report expected initiator numa: Parse initiator= attribute before cpus= attribute hw/core/machine.c | 3 ++- hw/core/numa.c| 45 +++-- 2 files changed, 25

Re: firmware selection for SEV-ES

2021-04-23 Thread Michal Privoznik
On 4/22/21 4:13 PM, Laszlo Ersek wrote: On 04/21/21 13:51, Pavel Hrdina wrote: On Wed, Apr 21, 2021 at 11:54:24AM +0200, Laszlo Ersek wrote: Hi Brijesh, Tom, in QEMU's "docs/interop/firmware.json", the @FirmwareFeature enumeration has a constant called @amd-sev. We should introduce an

Re: [PATCH RESEND] hostmem: Don't report pmem attribute if unsupported

2021-02-16 Thread Michal Privoznik
On 2/17/21 12:07 AM, John Snow wrote: On 2/16/21 5:23 PM, Eduardo Habkost wrote: On Tue, Jan 26, 2021 at 08:48:25AM +0100, Michal Privoznik wrote: When management applications (like Libvirt) want to check whether memory-backend-file.pmem is supported they can list object properties using 'qom

Re: [PATCH RESEND] hostmem: Don't report pmem attribute if unsupported

2021-02-15 Thread Michal Privoznik
On 1/26/21 8:48 AM, Michal Privoznik wrote: When management applications (like Libvirt) want to check whether memory-backend-file.pmem is supported they can list object properties using 'qom-list-properties'. However, 'pmem' is declared always (and thus reported always) and only at runtime QEMU

Re: [PATCH v3] machine: add missing doc for memory-backend option

2021-02-04 Thread Michal Privoznik
On 1/21/21 5:15 PM, Igor Mammedov wrote: > Ping, please? Is there anything I can help with to get this merged? Libvirt's migration is broken without this patch [1] and thus I'd like to have this merged sooner rather than later. 1: There's a libvirt patch required but depends on this one.

Re: [PATCH v3] machine: add missing doc for memory-backend option

2021-01-27 Thread Michal Privoznik
On 1/27/21 6:56 PM, Daniel P. Berrangé wrote: On Wed, Jan 27, 2021 at 04:35:22PM +0100, Igor Mammedov wrote: On Wed, 27 Jan 2021 15:24:26 +0100 Michal Privoznik wrote: On 1/27/21 11:54 AM, Daniel P. Berrangé wrote: On Wed, Jan 27, 2021 at 10:45:11AM +, Daniel P. Berrangé wrote: On Thu

Re: [PATCH v3] machine: add missing doc for memory-backend option

2021-01-27 Thread Michal Privoznik
On 1/27/21 4:35 PM, Igor Mammedov wrote: On Wed, 27 Jan 2021 15:24:26 +0100 Michal Privoznik wrote: On 1/27/21 11:54 AM, Daniel P. Berrangé wrote: On Wed, Jan 27, 2021 at 10:45:11AM +, Daniel P. Berrangé wrote: On Thu, Jan 21, 2021 at 11:15:04AM -0500, Igor Mammedov wrote: How does

Re: [PATCH v3] machine: add missing doc for memory-backend option

2021-01-27 Thread Michal Privoznik
On 1/27/21 11:54 AM, Daniel P. Berrangé wrote: On Wed, Jan 27, 2021 at 10:45:11AM +, Daniel P. Berrangé wrote: On Thu, Jan 21, 2021 at 11:15:04AM -0500, Igor Mammedov wrote: How does a mgmt app know which machine types need to use this option ? The machine type names are opaque

Re: [PATCH v3] machine: add missing doc for memory-backend option

2021-01-27 Thread Michal Privoznik
-canonical-path-for-ramblock-id is considered stable, (Peter Krempa ) v3: - s/x-use-canonical-path-for-ramblock-id=on/x-use-canonical-path-for-ramblock-id=off/ (Michal Privoznik ) - add to commit message why x- prefix is preserved - drop clause about x-use-canonical-path

[PATCH RESEND] hostmem: Don't report pmem attribute if unsupported

2021-01-25 Thread Michal Privoznik
(and thus can not guarantee write persistence). This is suboptimal since we have ability to declare attributes at compile time. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1915216 Signed-off-by: Michal Privoznik Reviewed-by: Daniel Henrique Barboza Tested-by: Daniel Henrique Barboza

[PATCH] hostmem: Don't report pmem attribute if unsupported

2021-01-19 Thread Michal Privoznik
(and thus can not guarantee write persistence). This is suboptimal since we have ability to declare attributes at compile time. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1915216 Signed-off-by: Michal Privoznik --- backends/hostmem-file.c | 13 - 1 file changed, 4 insertions

Re: [PATCH v2] machine: add missing doc for memory-backend option

2021-01-15 Thread Michal Privoznik
On 1/15/21 12:46 AM, Igor Mammedov wrote: Add documentation for '-machine memory-backend' CLI option and how to use it. And document that x-use-canonical-path-for-ramblock-id, is considered to be stable to make sure it won't go away by accident. Signed-off-by: Igor Mammedov --- v2: - add

Re: [PATCH] machine: add missing doc for memory-backend option

2021-01-11 Thread Michal Privoznik
qemu-options.hx| 25 - 2 files changed, 32 insertions(+), 1 deletion(-) Reviewed-by: Michal Privoznik Michal

Re: [PATCH 0/2] qemu-ga: add ssh-{add,remove}-authorized-keys

2020-10-14 Thread Michal Privoznik
| 32 5 files changed, 476 insertions(+), 1 deletion(-) create mode 100644 qga/commands-posix-ssh.c Reviewed-by: Michal Privoznik Michal

Re: [PULL v8 00/86] Misc QEMU patches for 2020-09-24

2020-10-07 Thread Michal Privoznik
On 10/2/20 8:24 PM, Eduardo Habkost wrote: On Fri, Oct 02, 2020 at 06:27:35PM +0200, Paolo Bonzini wrote: On 02/10/20 17:58, Michal Prívozník wrote: cd442a45db60a1a72fcf980c24bd1227f13f8a87 is the first bad commit Sorry for noticing this earlier, but is this known? The build starts failing

Re: [PATCH v2] cphp: remove deprecated cpu-add command(s)

2020-09-14 Thread Michal Privoznik
tests/qtest/test-hmp.c | 1 - 13 files changed, 21 insertions(+), 211 deletions(-) Thanks to Peter Libvirt uses device_add instead cpu_add whenever possible. Hence this is okay from Libvirt's POV. Reviewed-by: Michal Privoznik Michal

Re: [PATCH v2 0/2] qmp: Expose MachineClass::default_ram_id

2020-07-28 Thread Michal Privoznik
On 7/27/20 8:41 PM, Eduardo Habkost wrote: Hi Michal, It looks like this has fallen through the cracks, my apologies. I'm queueing this for 5.2. I assume this is the latest version, correct? Yes. No worries, I forgot about it too :-) If I remembered, I would have pinged. Michal

Re: [PATCH v3 0/2] qga: Ditch g_get_host_name()

2020-07-10 Thread Michal Privoznik
On 6/22/20 8:19 PM, Michal Privoznik wrote: v3 of: https://lists.nongnu.org/archive/html/qemu-devel/2020-06/msg06913.html diff to v2: - don't leak @hostname in util/oslib-posix.c:qemu_get_host_name() - document why we are allocating one byte more than needed - switch to g_new0() from g_malloc0

[PATCH v3 0/2] qga: Ditch g_get_host_name()

2020-06-22 Thread Michal Privoznik
v3 of: https://lists.nongnu.org/archive/html/qemu-devel/2020-06/msg06913.html diff to v2: - don't leak @hostname in util/oslib-posix.c:qemu_get_host_name() - document why we are allocating one byte more than needed - switch to g_new0() from g_malloc0(). Michal Privoznik (2): util: Introduce

[PATCH v3 2/2] qga: Use qemu_get_host_name() instead of g_get_host_name()

2020-06-22 Thread Michal Privoznik
is set up (e.g. on the first boot, or before DHCP) we will report old, invalid hostname. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1845127 Signed-off-by: Michal Privoznik --- qga/commands.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/qga

[PATCH v3 1/2] util: Introduce qemu_get_host_name()

2020-06-22 Thread Michal Privoznik
This function offers operating system agnostic way to fetch host name. It is implemented for both POSIX-like and Windows systems. Signed-off-by: Michal Privoznik --- include/qemu/osdep.h | 10 ++ util/oslib-posix.c | 35 +++ util/oslib-win32.c | 13

Re: [PATCH v2 1/2] util: Introduce qemu_get_host_name()

2020-06-22 Thread Michal Privoznik
On 6/22/20 7:38 PM, Daniel P. Berrangé wrote: On Mon, Jun 22, 2020 at 07:26:44PM +0200, Michal Privoznik wrote: This function offers operating system agnostic way to fetch host name. It is implemented for both POSIX-like and Windows systems. Signed-off-by: Michal Privoznik --- include/qemu

[PATCH v2 2/2] qga: Use qemu_get_host_name() instead of g_get_host_name()

2020-06-22 Thread Michal Privoznik
is set up (e.g. on the first boot, or before DHCP) we will report old, invalid hostname. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1845127 Signed-off-by: Michal Privoznik --- qga/commands.c | 17 + 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/qga

[PATCH v2 1/2] util: Introduce qemu_get_host_name()

2020-06-22 Thread Michal Privoznik
This function offers operating system agnostic way to fetch host name. It is implemented for both POSIX-like and Windows systems. Signed-off-by: Michal Privoznik --- include/qemu/osdep.h | 10 ++ util/oslib-posix.c | 32 util/oslib-win32.c | 13

[PATCH v2 0/2] qga: Ditch g_get_host_name()

2020-06-22 Thread Michal Privoznik
v2 of: https://lists.nongnu.org/archive/html/qemu-devel/2020-06/msg04457.html diff to v1: - Move implementation out from qga/ to util/oslib-* Michal Privoznik (2): util: Introduce qemu_get_host_name() qga: Use qemu_get_host_name() instead of g_get_host_name() include/qemu/osdep.h | 10

Re: [PATCH] qga: Use gethostname() instead of g_get_host_name()

2020-06-22 Thread Michal Privoznik
On 6/22/20 12:14 PM, Philippe Mathieu-Daudé wrote: Hi Michal, On 6/16/20 10:34 AM, Michal Privoznik wrote: Problem with g_get_host_name() is that on the first call it saves the hostname into a global variable and from then on, every subsequent call returns the saved hostname. Even

Re: [PATCH] qga: Use gethostname() instead of g_get_host_name()

2020-06-22 Thread Michal Privoznik
On 6/19/20 11:54 PM, Richard Henderson wrote: On 6/16/20 1:34 AM, Michal Privoznik wrote: +#ifndef G_OS_WIN32 Nit: positive tests are easier to reason with and extend than negative tests. I would reverse these two blocks and use a positive test for windows. Also, CONFIG_WIN32 is what we use

[PATCH] qga: Use gethostname() instead of g_get_host_name()

2020-06-16 Thread Michal Privoznik
is set up (e.g. on the first boot, or before DHCP) we will report old, invalid hostname. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1845127 Signed-off-by: Michal Privoznik --- qga/commands.c | 56 ++ 1 file changed, 52 insertions(+), 4

Re: [PATCH v2 1/2] qemu-options.hx: Mark all hmat-cache attributes required

2020-06-16 Thread Michal Privoznik
On 6/15/20 10:00 AM, Markus Armbruster wrote: Cc: the people involved in commit c412a48d4d "numa: Extend CLI to provide memory side cache information". Michal Privoznik writes: The documentation to `-numa hmat-cache` says that @node-id, @size and @level are the only required

Re: [PATCH v2 2/2] qemu-options.hx: Document hmat-lb and hmat-cache order

2020-06-16 Thread Michal Privoznik
On 6/15/20 10:02 AM, Markus Armbruster wrote: Michal Privoznik writes: To simplify internal implementation the hmat-cache parsing code expects hmat-lb to be already parsed. This means, that hmat-lb arguments must come before hmat-cache. Document this restriction so that management

Re: [PATCH 3/3] numa: Initialize node initiator with respect to .has_cpu

2020-06-11 Thread Michal Privoznik
On 6/5/20 3:52 AM, Tao Xu wrote: On 6/3/20 5:16 PM, Michal Privoznik wrote: On 6/2/20 10:00 AM, Tao Xu wrote: On 6/1/2020 4:10 PM, Michal Privoznik wrote: On 5/29/20 5:09 PM, Igor Mammedov wrote: On Fri, 29 May 2020 15:33:48 +0200 Michal Privoznik wrote: The initiator attribute of a NUMA

[PATCH v2 2/2] qemu-options.hx: Document hmat-lb and hmat-cache order

2020-06-10 Thread Michal Privoznik
To simplify internal implementation the hmat-cache parsing code expects hmat-lb to be already parsed. This means, that hmat-lb arguments must come before hmat-cache. Document this restriction so that management applications can follow it. Signed-off-by: Michal Privoznik --- qemu-options.hx | 3

[PATCH v2 1/2] qemu-options.hx: Mark all hmat-cache attributes required

2020-06-10 Thread Michal Privoznik
associativity missing. According to QAPI all attributes are required. Make the docs reflect that. Signed-off-by: Michal Privoznik --- qemu-options.hx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index 93bde2bbc8..b1a399079a 100644

[PATCH v2 0/2] A pair of HMAT docs fixes

2020-06-10 Thread Michal Privoznik
Technically, this is a v2 of: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg08316.html But as it turned out during the review of v1, we don't need to change the code rather than documentation. Michal Privoznik (2): qemu-options.hx: Mark all hmat-cache attributes required qemu

Re: [PATCH] numa: forbid '-numa node, mem' for 5.1 and newer machine types

2020-06-04 Thread Michal Privoznik
| 1 + hw/ppc/spapr.c | 2 +- qemu-options.hx| 9 + 8 files changed, 15 insertions(+), 24 deletions(-) This works with libvirt perfectly. Reviewed-by: Michal Privoznik Michal

Re: [PATCH 3/3] numa: Initialize node initiator with respect to .has_cpu

2020-06-03 Thread Michal Privoznik
On 6/2/20 10:00 AM, Tao Xu wrote: On 6/1/2020 4:10 PM, Michal Privoznik wrote: On 5/29/20 5:09 PM, Igor Mammedov wrote: On Fri, 29 May 2020 15:33:48 +0200 Michal Privoznik wrote: The initiator attribute of a NUMA node is documented as the 'NUMA node that has best performance to given NUMA

Re: [PATCH 0/3] Couple of HMAT fixes

2020-06-01 Thread Michal Privoznik
On 5/29/20 3:33 PM, Michal Privoznik wrote: I've started working on libvirt side of this feature. WIP patches can be found here: https://github.com/zippy2/libvirt/commits/hmat I've gotten to a point where libvirt generates cmd line but QEMU refuses it. Problem is that I was looking into qemu

Re: [PATCH 3/3] numa: Initialize node initiator with respect to .has_cpu

2020-06-01 Thread Michal Privoznik
On 5/29/20 5:09 PM, Igor Mammedov wrote: On Fri, 29 May 2020 15:33:48 +0200 Michal Privoznik wrote: The initiator attribute of a NUMA node is documented as the 'NUMA node that has best performance to given NUMA node'. If a NUMA node has at least one CPU there can hardly be a different node

Re: [PATCH 3/3] numa: Initialize node initiator with respect to .has_cpu

2020-05-29 Thread Michal Privoznik
On 5/29/20 5:09 PM, Igor Mammedov wrote: On Fri, 29 May 2020 15:33:48 +0200 Michal Privoznik wrote: The initiator attribute of a NUMA node is documented as the 'NUMA node that has best performance to given NUMA node'. If a NUMA node has at least one CPU there can hardly be a different node

Re: [PATCH 2/3] numa: Allow HMAT cache to be defined before HMAT latency/bandwidth

2020-05-29 Thread Michal Privoznik
On 5/29/20 4:59 PM, Igor Mammedov wrote: On Fri, 29 May 2020 15:33:47 +0200 Michal Privoznik wrote: Currently, when defining a HMAT cache for a NUMA node (in parse_numa_hmat_cache()) there is this check that forces users to define HMAT latency/bandwidth first. There is no real need

[PATCH 1/3] qapi: Make @associativity, @policy and @line of NumaHmatCacheOptions optional

2020-05-29 Thread Michal Privoznik
associativity missing. Signed-off-by: Michal Privoznik --- qapi/machine.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/qapi/machine.json b/qapi/machine.json index ff7b5032e3..952784f8ba 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -723,9 +723,9 @@ 'node

[PATCH 2/3] numa: Allow HMAT cache to be defined before HMAT latency/bandwidth

2020-05-29 Thread Michal Privoznik
ACPI table is constructed. Signed-off-by: Michal Privoznik --- hw/core/numa.c | 8 1 file changed, 8 deletions(-) diff --git a/hw/core/numa.c b/hw/core/numa.c index 316bc50d75..338453461c 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -384,7 +384,6 @@ void parse_numa_hmat_cache

[PATCH 3/3] numa: Initialize node initiator with respect to .has_cpu

2020-05-29 Thread Michal Privoznik
this fact when initializing the attribute. Signed-off-by: Michal Privoznik --- hw/core/numa.c | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/hw/core/numa.c b/hw/core/numa.c index 338453461c..1c9bc761cc 100644 --- a/hw/core/numa.c +++ b/hw/core/numa.c @@ -136,11

[PATCH 0/3] Couple of HMAT fixes

2020-05-29 Thread Michal Privoznik
and thus found some irregularities between these two. I'm not necessarily stating that all these patches are correct (I have some doubts about 3/3 because nearly identical code can be found in machine_set_cpu_numa_node(), but I have no idea if it's a coincidence). Michal Privoznik (3): qapi: Make

[PATCH v2 2/2] qmp: Expose MachineClass::default_ram_id

2020-05-26 Thread Michal Privoznik
the attribute set (riscv family for example), therefore the QMP attribute must be optional. Signed-off-by: Michal Privoznik --- hw/core/machine-qmp-cmds.c | 4 qapi/machine.json | 5 - 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/hw/core/machine-qmp-cmds.c b/hw/core/machine

[PATCH v2 0/2] qmp: Expose MachineClass::default_ram_id

2020-05-26 Thread Michal Privoznik
v2 of: https://lists.nongnu.org/archive/html/qemu-devel/2020-05/msg07103.html diff to v1: - in 2/2 I made the default-ram-id optional, because as it turns out, not every machine type has it set. Michal Privoznik (2): qapi: Fix comment format for @CpuInstanceProperties qmp: Expose

[PATCH v2 1/2] qapi: Fix comment format for @CpuInstanceProperties

2020-05-26 Thread Michal Privoznik
In 176d2cda0de, the @die-id attribute was introduced to CpuInstanceProperties type. However, it mangled the comment. Signed-off-by: Michal Privoznik --- qapi/machine.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qapi/machine.json b/qapi/machine.json index ff7b5032e3

Re: [PATCH 2/2] qmp: Expose MachineClass::default_ram_id

2020-05-26 Thread Michal Privoznik
On 5/25/20 8:06 PM, Eduardo Habkost wrote: On Mon, May 25, 2020 at 07:03:28PM +0200, Michal Privoznik wrote: If a management application (like Libvirt) want's to preserve migration ability and switch to '-machine memory-backend' it needs to set exactly the same RAM id as QEMU would. Since

[PATCH 1/2] qapi: Fix comment format for @CpuInstanceProperties

2020-05-25 Thread Michal Privoznik
In 176d2cda0de, the @die-id attribute was introduced to CpuInstanceProperties type. However, it mangled the comment. Signed-off-by: Michal Privoznik --- qapi/machine.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qapi/machine.json b/qapi/machine.json index ff7b5032e3

[PATCH 2/2] qmp: Expose MachineClass::default_ram_id

2020-05-25 Thread Michal Privoznik
If a management application (like Libvirt) want's to preserve migration ability and switch to '-machine memory-backend' it needs to set exactly the same RAM id as QEMU would. Since the id is machine type dependant, expose it under 'query-machines' result. Signed-off-by: Michal Privoznik --- hw

[PATCH 0/2] qmp: Expose MachineClass::default_ram_id

2020-05-25 Thread Michal Privoznik
The important patch is 2/2. Michal Privoznik (2): qapi: Fix comment format for @CpuInstanceProperties qmp: Expose MachineClass::default_ram_id hw/core/machine-qmp-cmds.c | 1 + qapi/machine.json | 8 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) -- 2.26.2

Re: device hotplug & file handles

2020-05-11 Thread Michal Privoznik
On 5/7/20 4:49 PM, Gerd Hoffmann wrote: Hi, For usb device pass-through (aka -device usb-host) it would be very useful to pass file handles from libvirt to qemu. The workflow would change from ... (1) libvirt enables access to /dev/usb/$bus/$dev (2) libvirt passes $bus + $dev (using

[PATCH] vfio-helpers: Free QEMUVFIOState in qemu_vfio_close()

2020-04-22 Thread Michal Privoznik
==by 0x8FDC73: bdrv_open_inherit (block.c:3291) ==167296==by 0x8FE1B5: bdrv_open (block.c:3384) ==167296==by 0x5EE828: bds_tree_init (blockdev.c:663) ==167296==by 0x5F57F8: qmp_blockdev_add (blockdev.c:3746) ==167296==by 0x5666DC: configure_blockdev (vl.c:1047) Signed-off-by: Michal

Re: [PATCH] Report stringified errno in VFIO related errors

2020-02-14 Thread Michal Privoznik
On 2/14/20 4:49 PM, Alex Williamson wrote: On Fri, 14 Feb 2020 10:19:50 +0100 Michal Privoznik wrote: Do you guys want me to file a bug? Probably a good idea. Thanks, Since I'm reproducing this against upstream, I've reported it here: https://bugs.launchpad.net/qemu/+bug/186

[PATCH v2] Report stringified errno in VFIO related errors

2020-02-14 Thread Michal Privoznik
In a few places we report errno formatted as a negative integer. This is not as user friendly as it can be. Use strerror() and/or error_setg_errno() instead. Signed-off-by: Michal Privoznik --- v1 posted here: https://lists.nongnu.org/archive/html/qemu-devel/2020-02/msg03623.html diff to v1

Re: [PATCH] Report stringified errno in VFIO related errors

2020-02-14 Thread Michal Privoznik
On 2/14/20 10:47 AM, Cornelia Huck wrote: On Fri, 14 Feb 2020 09:47:39 +0100 Michal Privoznik wrote: In a few places we report errno formatted as a negative integer. This is not as user friendly as it can be. Use strerror() and/or error_setg_errno() instead. Signed-off-by: Michal Privoznik

Re: [PATCH] Report stringified errno in VFIO related errors

2020-02-14 Thread Michal Privoznik
On 2/14/20 9:47 AM, Michal Privoznik wrote: In a few places we report errno formatted as a negative integer. This is not as user friendly as it can be. Use strerror() and/or error_setg_errno() instead. Signed-off-by: Michal Privoznik --- hw/vfio/common.c| 2 +- util/vfio-helpers.c | 6

[PATCH] Report stringified errno in VFIO related errors

2020-02-14 Thread Michal Privoznik
In a few places we report errno formatted as a negative integer. This is not as user friendly as it can be. Use strerror() and/or error_setg_errno() instead. Signed-off-by: Michal Privoznik --- hw/vfio/common.c| 2 +- util/vfio-helpers.c | 6 +++--- 2 files changed, 4 insertions(+), 4

Re: [libvirt] [PATCH v2 82/86] numa: forbid '-numa node, mem' for 5.0 and newer machine types

2020-01-16 Thread Michal Privoznik
On 1/16/20 1:37 PM, Igor Mammedov wrote: On Thu, 16 Jan 2020 11:42:09 +0100 Michal Privoznik wrote: On 1/15/20 5:52 PM, Igor Mammedov wrote: On Wed, 15 Jan 2020 16:34:53 +0100 Peter Krempa wrote: On Wed, Jan 15, 2020 at 16:07:37 +0100, Igor Mammedov wrote: Deprecation period is ran

Re: [libvirt] [PATCH v2 82/86] numa: forbid '-numa node, mem' for 5.0 and newer machine types

2020-01-16 Thread Michal Privoznik
On 1/15/20 5:52 PM, Igor Mammedov wrote: On Wed, 15 Jan 2020 16:34:53 +0100 Peter Krempa wrote: On Wed, Jan 15, 2020 at 16:07:37 +0100, Igor Mammedov wrote: Deprecation period is ran out and it's a time to flip the switch introduced by cd5ff8333a. Disable legacy option for new machine types

Re: discuss about pvpanic

2020-01-08 Thread Michal Privoznik
On 1/8/20 10:36 AM, Paolo Bonzini wrote: On 08/01/20 09:25, zhenwei pi wrote: Hey, Paolo Currently, pvpapic only supports bit 0(PVPANIC_PANICKED). We usually expect that guest writes ioport (typical 0x505) in panic_notifier_list callback during handling panic, then we can handle pvpapic event

Re: Making QEMU easier for management tools and applications

2020-01-07 Thread Michal Privoznik
On 1/7/20 10:36 AM, Kevin Wolf wrote: The easy way out would be tying libvirt to a specific QEMU version. And I'm only half joking. If libvirt didn't exist yet and we needed a management library for QEMU, what we would build now would probably not look much like libvirt looks today. We wouldn't

[PATCH] x86: Check for machine state object class before typecasting it

2019-12-30 Thread Michal Privoznik
object is class of PC_MACHINE was removed from the check. This makes qemu try to enable SMRAM for all machine types, which is not what we want. Signed-off-by: Michal Privoznik --- target/i386/kvm.c | 1 + 1 file changed, 1 insertion(+) diff --git a/target/i386/kvm.c b/target/i386/kvm.c index

Re: [PATCH v3] qga: fence guest-set-time if hwclock not available

2019-12-05 Thread Michal Privoznik
On 12/5/19 2:12 PM, Cornelia Huck wrote: On Thu, 5 Dec 2019 14:05:19 +0100 Philippe Mathieu-Daudé wrote: Hi Cornelia, On 12/5/19 12:53 PM, Cornelia Huck wrote: The Posix implementation of guest-set-time invokes hwclock to set/retrieve the time to/from the hardware clock. If hwclock is not

Re: [PATCH 2/2] vfio-helpers: Free QEMUVFIOState in qemu_vfio_close()

2019-11-12 Thread Michal Privoznik
On 11/11/19 12:15 PM, Cornelia Huck wrote: On Mon, 11 Nov 2019 11:37:42 +0100 Michal Privoznik wrote: The qemu_vfio_open_pci() allocates this QEMUVFIOState structure but free counterpart is missing. Since we already have qemu_vfio_close() which does cleanup of the state, it looks like

[PATCH 0/2] A pair of memory access problems

2019-11-11 Thread Michal Privoznik
The first patch fixes a crasher, the second fixes a memleak. Michal Privoznik (2): hw/vfio/pci: Fix double free of migration_blocker vfio-helpers: Free QEMUVFIOState in qemu_vfio_close() hw/vfio/pci.c | 2 ++ util/vfio-helpers.c | 1 + 2 files changed, 3 insertions(+) -- 2.23.0

[PATCH 2/2] vfio-helpers: Free QEMUVFIOState in qemu_vfio_close()

2019-11-11 Thread Michal Privoznik
==by 0x5DA5C1: bds_tree_init (blockdev.c:670) ==178278==by 0x5E2B64: qmp_blockdev_add (blockdev.c:4354) ==178278==by 0x5ECB1D: configure_blockdev (vl.c:1202) Signed-off-by: Michal Privoznik --- util/vfio-helpers.c | 1 + 1 file changed, 1 insertion(+) diff --git a/util/vfio-helpers.c b/util

[PATCH 1/2] hw/vfio/pci: Fix double free of migration_blocker

2019-11-11 Thread Michal Privoznik
t.c:1272) ==169952==by 0x8E3FC8: object_property_set_qobject (qom-qobject.c:26) ==169952==by 0x8E11DB: object_property_set_bool (object.c:1338) ==169952==by 0x5E7BDD: qdev_device_add (qdev-monitor.c:673) Signed-off-by: Michal Privoznik --- hw/vfio/pci.c | 2 ++ 1 file changed, 2 inserti

Re: [Qemu-devel] [PATCH v2] qapi/qmp-dispatch: Fix error class for reporting disabled commands

2019-09-13 Thread Michal Privoznik
On 9/13/19 2:52 PM, Markus Armbruster wrote: Michal Privoznik writes: If a command is disabled an error is reported. But due to usage of error_setg() the class of the error is GenericError which does not help callers in distinguishing this case from a case where a qmp command fails regularly

Re: [Qemu-devel] [PATCH] qapi: Reintroduce CommandDisabled error class

2019-08-30 Thread Michal Privoznik
On 8/30/19 1:52 PM, Markus Armbruster wrote: Michal Privoznik writes: On 8/29/19 3:12 PM, Eric Blake wrote: On 8/29/19 8:04 AM, Michal Privoznik wrote: A bit of background: up until very recently libvirt used qemu-ga in all or nothing way. It didn't care why a qemu-ga command failed

[Qemu-devel] [PATCH v2] qapi/qmp-dispatch: Fix error class for reporting disabled commands

2019-08-30 Thread Michal Privoznik
to the actual root cause. Signed-off-by: Michal Privoznik --- This is a v2 of: https://lists.nongnu.org/archive/html/qemu-devel/2019-08/msg06327.html diff to v1: - Don't introduce new error class (CommandDisabled) - Use CommandNotFound error class qapi/qmp-dispatch.c | 5 +++-- 1 file changed

Re: [Qemu-devel] [PATCH] qapi: Reintroduce CommandDisabled error class

2019-08-29 Thread Michal Privoznik
On 8/29/19 3:12 PM, Eric Blake wrote: On 8/29/19 8:04 AM, Michal Privoznik wrote: A bit of background: up until very recently libvirt used qemu-ga in all or nothing way. It didn't care why a qemu-ga command failed. But very recently a new API was introduced which implements 'best effort

Re: [Qemu-devel] [PATCH] qapi: Reintroduce CommandDisabled error class

2019-08-29 Thread Michal Privoznik
On 8/29/19 2:10 PM, Markus Armbruster wrote: > Michal Privoznik writes: > >> If there was a disabled command, then qemu-ga used to report >> CommandDisabled error class (among with human readable >> description). This changed in v1.2.0-rc0~28^2~16 in favor of >> G

[Qemu-devel] [PATCH] qapi: Reintroduce CommandDisabled error class

2019-08-29 Thread Michal Privoznik
must differentiate between: {CommandNotFound, CommandDisabled} and some generic error. While the former classes mean the API can issue some other commands the latter raises a red flag causing the API to fail. This reverts df1e608a01 partially. Signed-off-by: Michal Privoznik --- include/qapi

[Qemu-devel] [PATCH] Makefile: Drop $(DESTDIR) from generated FW paths

2019-08-05 Thread Michal Privoznik
$ mkdir _build _install; cd _build && \ ../configure --prefix=/usr && make && \ make DESTDIR=../_install install 2) Observe wrong path: qemu.git/_build $ grep filename ../_install/usr/share/qemu/firmware/* Signed-off-by: Michal Privoznik --- Makefile | 2 +- 1 f

[Qemu-devel] [PATCH] .gitignore: ignore some vhost-user* related files

2019-07-12 Thread Michal Privoznik
Commit d52c454aadc creates '/contrib/vhost-user-gpu/50-qemu-gpu.json' and '/vhost-user-gpu' and commit 06914c97d3a creates '/vhost-user-input' neither of which is ignored by git. Signed-off-by: Michal Privoznik --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b

[Qemu-devel] [PATCH] nvme: Set number of queues later in nvme_init()

2019-07-10 Thread Michal Privoznik
ckdev_init (file=0x0, bs_opts=0x55d953d00390, errp=0x7ffd8e19e908) at blockdev.c:602 Signed-off-by: Michal Privoznik --- block/nvme.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/block/nvme.c b/block/nvme.c index 73ed5fa75f..9896b7f7c6 100644 --- a/block/nvme.c +++ b/bl

  1   2   3   4   >