Re: [Xen-devel] [PATCH 03/34] net/ceph: convert put_page() to put_user_page*()

2019-08-02 Thread Jeff Layton
On Thu, 2019-08-01 at 19:19 -0700, john.hubb...@gmail.com wrote: > From: John Hubbard > > For pages that were retained via get_user_pages*(), release those pages > via the new put_user_page*() routines, instead of via put_page() or > release_pages(). > > This is part a tree-wide conversion, as

Re: [Xen-devel] [PATCH 31/34] nfs: convert put_page() to put_user_page*()

2019-08-02 Thread Calum Mackay
On 02/08/2019 3:20 am, john.hubb...@gmail.com wrote: From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide conversion, as described in commit

[Xen-devel] [linux-next test] 139636: regressions - FAIL

2019-08-02 Thread osstest service owner
flight 139636 linux-next real [real] http://logs.test-lab.xenproject.org/osstest/logs/139636/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-libvirt-vhd 17 guest-start/debian.repeat fail REGR. vs. 139584 Tests which did

Re: [Xen-devel] [PATCH 31/34] nfs: convert put_page() to put_user_page*()

2019-08-02 Thread John Hubbard
On 8/2/19 6:27 PM, Calum Mackay wrote: > On 02/08/2019 3:20 am, john.hubb...@gmail.com wrote: ... > Since it's static, and only called twice, might it be better to change its > two callers [nfs_direct_{read,write}_schedule_iovec()] to call > put_user_pages() directly, and remove

Re: [Xen-devel] [RFC 1/6] xen/arm: Re-enable interrupt later in the trap path

2019-08-02 Thread Dario Faggioli
On Fri, 2019-08-02 at 14:49 +0100, Julien Grall wrote: > /!\/!\/!\ > > I am not a scheduler expert so my view maybe be wrong. Dario feel > free to > correct me :). > > /!\/!\/!\ > :-) > On 02/08/2019 14:07, Andrii Anisov wrote: > > On 02.08.19 12:15, Julien Grall wrote: > > > > > > But the

Re: [Xen-devel] [RFC 1/6] xen/arm: Re-enable interrupt later in the trap path

2019-08-02 Thread Dario Faggioli
On Fri, 2019-08-02 at 16:07 +0300, Andrii Anisov wrote: > On 02.08.19 12:15, Julien Grall wrote: > > From the list below it is not clear what is the split between > > hypervisor time and guest time. See some of the examples below. > > I guess your question is *why* do I split hyp/guest time in

[Xen-devel] [qemu-mainline test] 139633: tolerable FAIL - PUSHED

2019-08-02 Thread osstest service owner
flight 139633 qemu-mainline real [real] http://logs.test-lab.xenproject.org/osstest/logs/139633/ Failures :-/ but no regressions. Tests which are failing intermittently (not blocking): test-amd64-i386-freebsd10-i386 7 xen-boot fail in 139594 pass in 139633

Re: [Xen-devel] [GIT PULL] xen: fixes for 5.3-rc3

2019-08-02 Thread pr-tracker-bot
The pull request you sent on Fri, 2 Aug 2019 16:47:46 +0200: > git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git > for-linus-5.3a-rc3-tag has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/dcb8cfbd8fe9e62c7d64e82288d3ffe2502b7371 Thank you! -- Deet-doot-dot,

[Xen-devel] [linux-4.19 test] 139629: regressions - FAIL

2019-08-02 Thread osstest service owner
flight 139629 linux-4.19 real [real] http://logs.test-lab.xenproject.org/osstest/logs/139629/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: build-armhf-pvops 6 kernel-build fail REGR. vs. 129313 Tests which are

[Xen-devel] [ovmf test] 139632: all pass - PUSHED

2019-08-02 Thread osstest service owner
flight 139632 ovmf real [real] http://logs.test-lab.xenproject.org/osstest/logs/139632/ Perfect :-) All tests in this flight passed as required version targeted for testing: ovmf 46e34cc9561360a63549308b9b5464df6651de05 baseline version: ovmf

Re: [Xen-devel] [PATCH] tests/cpu-policy: fix format-overflow warning by null terminating strings

2019-08-02 Thread Rich Persaud
> On Jul 31, 2019, at 04:11, Jan Beulich wrote: > >> On 31.07.2019 02:22, Dario Faggioli wrote: >> Jan's example above, seem to compile **without any warnings** for me as >> well. If I add a main(), I can even get the code above to print the >> content of the array. >> >> And yet, building the

Re: [Xen-devel] [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-02 Thread John Hubbard
On 8/2/19 1:05 AM, Peter Zijlstra wrote: On Thu, Aug 01, 2019 at 07:16:19PM -0700, john.hubb...@gmail.com wrote: This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). That commit has an extensive description of the

Re: [Xen-devel] [PATCH 20/34] xen: convert put_page() to put_user_page*()

2019-08-02 Thread John Hubbard
On 8/2/19 9:09 AM, Weiny, Ira wrote: On 02.08.19 07:48, John Hubbard wrote: On 8/1/19 9:36 PM, Juergen Gross wrote: On 02.08.19 04:19, john.hubb...@gmail.com wrote: From: John Hubbard ... If that's not the case (both here, and in 3 or 4 other patches in this series, then as you said, I

Re: [Xen-devel] [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-02 Thread John Hubbard
On 8/2/19 7:52 AM, Jan Kara wrote: On Fri 02-08-19 07:24:43, Matthew Wilcox wrote: On Fri, Aug 02, 2019 at 02:41:46PM +0200, Jan Kara wrote: On Fri 02-08-19 11:12:44, Michal Hocko wrote: On Thu 01-08-19 19:19:31, john.hubb...@gmail.com wrote: [...] 2) Convert all of the call sites for

[Xen-devel] [xen-unstable-smoke test] 139647: tolerable all pass - PUSHED

2019-08-02 Thread osstest service owner
flight 139647 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/139647/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-libvirt 13 migrate-support-checkfail never pass test-armhf-armhf-xl

[Xen-devel] [RFC] Generating Go bindings for libxl

2019-08-02 Thread Nicholas Rosbrook
> IOW, in response to GP, I was going to counter-suggest what you suggest > in this email. :-) > > Are you up for taking a stab at something like `gengotypes.py`? Yes, I think I can handle that. -NR ___ Xen-devel mailing list

Re: [Xen-devel] [PATCH 16/34] drivers/tee: convert put_page() to put_user_page*()

2019-08-02 Thread John Hubbard
On 8/1/19 11:29 PM, Jens Wiklander wrote: On Fri, Aug 2, 2019 at 4:20 AM wrote: From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a tree-wide

Re: [Xen-devel] [PATCH 06/34] drm/i915: convert put_page() to put_user_page*()

2019-08-02 Thread John Hubbard
On 8/2/19 2:19 AM, Joonas Lahtinen wrote: Quoting john.hubb...@gmail.com (2019-08-02 05:19:37) From: John Hubbard For pages that were retained via get_user_pages*(), release those pages via the new put_user_page*() routines, instead of via put_page() or release_pages(). This is part a

Re: [Xen-devel] [PATCH] tests/x86emul: Annotate test blobs as executable code

2019-08-02 Thread Andrew Cooper
On 03/07/2019 11:47, Jan Beulich wrote: On 24.05.19 at 17:15, wrote: >> --- a/tools/tests/x86_emulator/Makefile >> +++ b/tools/tests/x86_emulator/Makefile >> @@ -149,7 +149,7 @@ $(addsuffix .h,$(TESTCASES)): %.h: %.c testcase.mk >> Makefile >> (echo 'static const unsigned int

[Xen-devel] [freebsd-master test] 139637: all pass - PUSHED

2019-08-02 Thread osstest service owner
flight 139637 freebsd-master real [real] http://logs.test-lab.xenproject.org/osstest/logs/139637/ Perfect :-) All tests in this flight passed as required version targeted for testing: freebsd f66d5bcdd266eb22421e6f81a8f4530d1627b4a8 baseline version: freebsd

Re: [Xen-devel] [ANNOUNCE] Xen 4.13 Development Update

2019-08-02 Thread Oleksandr
Hello Juergen I would like to see this in Xen 4.13: https://lists.xenproject.org/archives/html/xen-devel/2019-08/msg00253.html So, please add: === ARM === *  Renesas IPMMU-VMSA support + Linux's iommu_fwspec (V2)   -  Oleksandr Tyshchenko -- Regards, Oleksandr Tyshchenko

Re: [Xen-devel] [PATCH] mm: Safe to clear PGC_allocated on xenheap pages without an extra reference

2019-08-02 Thread Andrew Cooper
On 02/08/2019 17:16, George Dunlap wrote: > Commits ec83f825627 "mm.h: add helper function to test-and-clear > _PGC_allocated" (and subsequent fix-up 44a887d021d "mm.h: fix BUG_ON() > condition in put_page_alloc_ref()") introduced a BUG_ON() to detect > unsafe behavior of callers. > >

[Xen-devel] [PATCH V2 4/6] iommu/arm: Add lightweight iommu_fwspec support

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko We need to have some abstract way to add new device to the IOMMU based on the generic IOMMU DT binding [1] which can be used for both DT (right now) and ACPI (in future). For that reason we can borrow the idea used in Linux these days called "iommu_fwspec". Having

[Xen-devel] [PATCH V2 3/6] [RFC] xen/common: Introduce _xrealloc function

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko Next patch in this series will make use of it. Original patch was initially posted by Sameer Goel: https://lists.xen.org/archives/html/xen-devel/2017-06/msg00858.html This could be considered as another attempt to add it:

[Xen-devel] [PATCH V2 0/6] iommu/arm: Add Renesas IPMMU-VMSA support + Linux's iommu_fwspec

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko The purpose of this patch series is to add IPMMU-VMSA support to Xen on ARM. Besides new IOMMU driver, this series contains "iommu_fwspec" support and new API iommu_add_dt_device() for adding DT device to IOMMU. The IPMMU-VMSA is VMSA-compatible I/O Memory Management

[Xen-devel] [PATCH V2 6/6] iommu/arm: Add Renesas IPMMU-VMSA support

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko The IPMMU-VMSA is VMSA-compatible I/O Memory Management Unit (IOMMU) which provides address translation and access protection functionalities to processing units and interconnect networks. Please note, current driver is supposed to work only with newest Gen3 SoCs

[Xen-devel] [PATCH V2 5/6] iommu/arm: Introduce iommu_add_dt_device API

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko This patch adds new iommu_add_dt_device API for adding DT device to the IOMMU using generic IOMMU DT binding [1] and previously added "iommu_fwspec" support. New function parses the DT binding, prepares "dev->iommu_fwspec" with correct information and calls the IOMMU

[Xen-devel] [PATCH V2 1/6] iommu/arm: Add iommu_helpers.c file to keep common for IOMMUs stuff

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko Introduce a separate file to keep various helpers which could be used by more than one IOMMU driver in order not to duplicate code. The first condidates to be moved to the new file are SMMU driver's "map_page/unmap_page" callbacks. There callbacks neither contain any

[Xen-devel] [PATCH V2 2/6] iommu/arm: Add ability to handle deferred probing request

2019-08-02 Thread Oleksandr Tyshchenko
From: Oleksandr Tyshchenko This patch adds minimal required support to General IOMMU framework to be able to handle a case when IOMMU driver requesting deferred probing for a device. In order not to pull Linux's error code (-EPROBE_DEFER) to Xen we have chosen -EAGAIN to be used for indicating

[Xen-devel] [xen-unstable test] 139621: regressions - FAIL

2019-08-02 Thread osstest service owner
flight 139621 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/139621/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-i386-qemuu-rhel6hvm-intel 12 guest-start/redhat.repeat fail REGR. vs. 139563 Tests

[Xen-devel] [PATCH] mm: Safe to clear PGC_allocated on xenheap pages without an extra reference

2019-08-02 Thread George Dunlap
Commits ec83f825627 "mm.h: add helper function to test-and-clear _PGC_allocated" (and subsequent fix-up 44a887d021d "mm.h: fix BUG_ON() condition in put_page_alloc_ref()") introduced a BUG_ON() to detect unsafe behavior of callers. Unfortunately this condition still turns out to be too strict.

Re: [Xen-devel] [PATCH 20/34] xen: convert put_page() to put_user_page*()

2019-08-02 Thread Weiny, Ira
> > On 02.08.19 07:48, John Hubbard wrote: > > On 8/1/19 9:36 PM, Juergen Gross wrote: > >> On 02.08.19 04:19, john.hubb...@gmail.com wrote: > >>> From: John Hubbard > > ... > >>> diff --git a/drivers/xen/privcmd.c b/drivers/xen/privcmd.c index > >>> 2f5ce7230a43..29e461dbee2d 100644 > >>> ---

[Xen-devel] [PATCH STABLE 4.9] x86, mm, gup: prevent get_page() race with munmap in paravirt guest

2019-08-02 Thread Vlastimil Babka
The x86 version of get_user_pages_fast() relies on disabled interrupts to synchronize gup_pte_range() between gup_get_pte(ptep); and get_page() against a parallel munmap. The munmap side nulls the pte, then flushes TLBs, then releases the page. As TLB flush is done synchronously via IPI disabling

[Xen-devel] [PATCH 31/35] libxl: Use ev_qmp for libxl_send_trigger

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 49 ++-- tools/libxl/libxl_internal.h | 2 -- tools/libxl/libxl_qmp.c | 5 3 files changed, 42 insertions(+), 14 deletions(-) diff --git a/tools/libxl/libxl_domain.c

[Xen-devel] [PATCH 10/35] libxl: Re-introduce libxl__domain_resume

2019-08-02 Thread Anthony PERARD
libxl__domain_resume is a rework libxl__domain_resume_deprecated. It makes uses of ev_xswatch and ev_qmp, to replace synchronous QMP calls and libxl__wait_for_device_model_deprecated call. This patch also introduce libxl__dm_resume which is a sub-operation of both libxl__domain_resume and

[Xen-devel] [PATCH 21/35] libxl_usb: Make libxl__device_usbdev_add uses ev_qmp

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c | 99 + 1 file changed, 81 insertions(+), 18 deletions(-) diff --git a/tools/libxl/libxl_usb.c b/tools/libxl/libxl_usb.c index 92eeeb27f0..6b3e388a18 100644 --- a/tools/libxl/libxl_usb.c +++

[Xen-devel] [PATCH 33/35] libxl: Extract qmp_parse_query_cpus

2019-08-02 Thread Anthony PERARD
The QMP command "query-cpus" is called from different places, extract the algorithm that parse the answer into a separate function. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 69 ++ 1 file changed, 40 insertions(+), 29 deletions(-) diff

[Xen-devel] [PATCH 22/35] libxl: Use aodev for libxl__device_usbdev_remove

2019-08-02 Thread Anthony PERARD
This also mean libxl__initiate_device_usbctrl_remove, which uses libxl__device_usbdev_remove synchronously, needs to be updated to use it with multidev. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c | 79 +++-- 1 file changed, 61 insertions(+), 18

[Xen-devel] [PATCH 30/35] libxl_pci: Use ev_qmp for pci_remove

2019-08-02 Thread Anthony PERARD
This patch also replaces the use of libxl__wait_for_device_model_deprecated() by its equivalent without the need for a thread. Signed-off-by: Anthony PERARD --- Notes: In do_pci_remove, instead of using a poll loop { ev_timer ; query-pci }, it could be possible to listen to events sent

[Xen-devel] [PATCH 25/35] libxl_pci: Coding style of do_pci_add

2019-08-02 Thread Anthony PERARD
do_pci_add is going to be asynchronous, so we start by having a single path out of the function. All `return`s instead set rc and goto out. While here, some use of `rc' was used to store the return value of libxc calls, change them to store into `r'. Also, add the value of `r' in the error

[Xen-devel] [PATCH 27/35] libxl_pci: Use libxl__ao_device with libxl__device_pci_add

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_internal.h | 7 +- tools/libxl/libxl_pci.c | 170 ++- 2 files changed, 150 insertions(+), 27 deletions(-) diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index

[Xen-devel] [PATCH 17/35] libxl: Add libxl__ev_qmp to libxl__ao_device

2019-08-02 Thread Anthony PERARD
`aodev->qmp' is initialised in libxl__prepare_ao_device(), but since there isn't a single exit path for a `libxl__ao_device', users of this new `qmp' field will have to disposed of it. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_device.c | 2 ++ tools/libxl/libxl_internal.h | 1 + 2

[Xen-devel] [PATCH 11/35] libxl_domain: Convert libxl_domain_resume to use libxl__domain_resume

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 21 +++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl_domain.c b/tools/libxl/libxl_domain.c index 80797c5ed2..d78ffa6b60 100644 --- a/tools/libxl/libxl_domain.c +++

[Xen-devel] [PATCH 28/35] libxl_pci: Use ev_qmp in do_pci_add

2019-08-02 Thread Anthony PERARD
This patch also replaces the use of libxl__wait_for_device_model_deprecated() by its equivalent without the need for a thread. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_internal.h | 1 - tools/libxl/libxl_pci.c | 288 --- tools/libxl/libxl_qmp.c

[Xen-devel] [PATCH 13/35] libxl_dm: Update libxl__spawn_stub_dm to use libxl__domain_unpause

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_dm.c | 22 +- tools/libxl/libxl_internal.h | 1 + 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/tools/libxl/libxl_dm.c b/tools/libxl/libxl_dm.c index 246c570121..c00356a2f1 100644 ---

[Xen-devel] [PATCH 23/35] libxl: libxl__initiate_device_usbdev_remove now use ev_qmp

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c | 78 +++-- 1 file changed, 68 insertions(+), 10 deletions(-) diff --git a/tools/libxl/libxl_usb.c b/tools/libxl/libxl_usb.c index 8e3a419805..2c11896f9e 100644 --- a/tools/libxl/libxl_usb.c +++

[Xen-devel] [PATCH 19/35] libxl_usb: Make libxl__device_usbctrl_add uses ev_qmp

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c | 93 ++--- 1 file changed, 77 insertions(+), 16 deletions(-) diff --git a/tools/libxl/libxl_usb.c b/tools/libxl/libxl_usb.c index cc176f6d01..5975c1d192 100644 --- a/tools/libxl/libxl_usb.c +++

[Xen-devel] [PATCH 20/35] libxl_usb: Make libxl__initiate_device_usbctrl_remove uses ev_qmp

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c | 97 + 1 file changed, 79 insertions(+), 18 deletions(-) diff --git a/tools/libxl/libxl_usb.c b/tools/libxl/libxl_usb.c index 5975c1d192..92eeeb27f0 100644 --- a/tools/libxl/libxl_usb.c +++

[Xen-devel] [PATCH 14/35] libxl_domain: Convert libxl_domain_unpause to use libxl__domain_unpause

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 25 ++--- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/tools/libxl/libxl_domain.c b/tools/libxl/libxl_domain.c index 52a8bd7895..f3c39fa86f 100644 --- a/tools/libxl/libxl_domain.c +++

[Xen-devel] [PATCH 35/35] libxl: libxl_qemu_monitor_command now uses ev_qmp

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_qmp.c | 52 +++-- 1 file changed, 50 insertions(+), 2 deletions(-) diff --git a/tools/libxl/libxl_qmp.c b/tools/libxl/libxl_qmp.c index 9639d491d9..9aabad74fa 100644 --- a/tools/libxl/libxl_qmp.c +++

[Xen-devel] [PATCH 15/35] libxl: Inline do_usbdev_add into libxl__device_usbdev_add

2019-08-02 Thread Anthony PERARD
Having the function do_usbdev_add makes it harder to add asynchronous calls into it. Move its body back into libxl__device_usbdev_add and adjust the latter as there are no reason to have a separated function. No functional changes. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_usb.c |

[Xen-devel] [PATCH 29/35] libxl_pci: Use libxl__ao_device with pci_remove

2019-08-02 Thread Anthony PERARD
This is in preparation of using asynchronous operation to communicate with QEMU via QMP (libxl__ev_qmp). Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 49 ++-- tools/libxl/libxl_internal.h | 6 +- tools/libxl/libxl_pci.c | 221 ++-

[Xen-devel] [PATCH 16/35] libxl: Inline do_usbdev_remove into libxl__device_usbdev_remove

2019-08-02 Thread Anthony PERARD
Having the function do_usbdev_remove makes it harder to add asynchronous calls into it. Move its body back into libxl__device_usbdev_remove and adjust the latter as there are no reason to have a separated function. No functional changes. Signed-off-by: Anthony PERARD ---

[Xen-devel] [PATCH 18/35] libxl: Add device_{config, type} to libxl__ao_device

2019-08-02 Thread Anthony PERARD
These two fields help to give more information about the device been hotplug/hotunplug to callbacks. There is already `dev' of type `libxl__device', but it is mostly useful when the backend/frontend is xenstore. Some device (like `usbdev') don't have devid, so `dev' can't be used. Signed-off-by:

[Xen-devel] [PATCH 32/35] libxl: Use ev_qmp in libxl_set_vcpuonline

2019-08-02 Thread Anthony PERARD
Removed libxl__qmp_cpu_add since it's not used anymore. `cpumap' arg of libxl__set_vcpuonline_xenstore is constified. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 205 ++- tools/libxl/libxl_internal.h | 2 - tools/libxl/libxl_qmp.c |

[Xen-devel] [PATCH 24/35] libxl: Remove libxl__qmp_run_command_flexarray

2019-08-02 Thread Anthony PERARD
There are no more users. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_internal.h | 3 --- tools/libxl/libxl_qmp.c | 16 2 files changed, 19 deletions(-) diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h index 8dea44b221..5c15a73a08 100644

[Xen-devel] [PATCH 26/35] libxl_pci: Only check if qemu-dm is running in qemu-trad case

2019-08-02 Thread Anthony PERARD
QEMU upstream (or qemu-xen) may not have set "running" state in xenstore. "running" with QEMU doesn't mean that the binary is running, it means that the emulation have started. When adding a pci-passthrough device to QEMU, we do so via QMP, we have a direct answer to whether QEMU is running or

[Xen-devel] [PATCH 34/35] libxl: libxl_retrieve_domain_configuration now uses ev_qmp

2019-08-02 Thread Anthony PERARD
This was the last user of libxl__qmp_query_cpus which can now be removed. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 163 --- tools/libxl/libxl_internal.h | 3 - tools/libxl/libxl_qmp.c | 38 3 files changed, 131

[Xen-devel] [PATCH 12/35] libxl: Re-introduce libxl__domain_unpause

2019-08-02 Thread Anthony PERARD
libxl__domain_unpause is a reimplementation of libxl__domain_unpause_deprecated with asynchronous operation. Signed-off-by: Anthony PERARD --- tools/libxl/libxl_domain.c | 52 tools/libxl/libxl_internal.h | 5 +++- 2 files changed, 56 insertions(+), 1

Re: [Xen-devel] [RFC] Generating Go bindings for libxl

2019-08-02 Thread George Dunlap
On 7/31/19 10:22 PM, Nicholas Rosbrook wrote: >> I looked at the thing about naked returns, and didn't really understand >> it; but anyway I'm happy to have things modified to be more Go-like.  I >> definitely "speak" Go with a funny accent. > > TL;DR: Naked returns exist; don't use them (with

Re: [Xen-devel] [ANNOUNCE] Xen 4.13 Development Update

2019-08-02 Thread Anthony PERARD
On Thu, Aug 01, 2019 at 06:00:48PM +0200, Juergen Gross wrote: > This email only tracks big items for xen.git tree. Please reply for items you > would like to see in 4.13 so that people have an idea what is going on and > prioritise accordingly. If I can be bold, I'd like to see some more QEMU

Re: [Xen-devel] [PATCH v8 12/16] microcode: split out apply_microcode() from cpu_request_microcode()

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode.c > +++ b/xen/arch/x86/microcode.c > @@ -189,12 +189,20 @@ static DEFINE_SPINLOCK(microcode_mutex); > > DEFINE_PER_CPU(struct cpu_signature, cpu_sig); > > -struct microcode_info { > -unsigned int cpu; > -uint32_t

Re: [Xen-devel] [RFC] Generating Go bindings for libxl

2019-08-02 Thread George Dunlap
On 8/1/19 7:59 PM, Nicholas Rosbrook wrote: >> With that said, what are your expectations for the generated Go code at this >> point? >> Do you think we should try to generate the pieces that call into libxl? Or, >> do you think >> the code generation should be limited to the structs and

[Xen-devel] [PATCH 00/35] libxl refactoring to use ev_qmp (with API changes)

2019-08-02 Thread Anthony PERARD
Hi, On the quest to have QEMU depriviledge, we need to make quite a few changes to libxl. This patch series rework quite a few libxl feature to use libxl__ev_qmp, which is the new asynchronous way of communicating with QEMU in libxl. Unfortunately, some libxl functions (in the public API) are

[Xen-devel] [PATCH 02/35] libxl: Make libxl_send_trigger async

2019-08-02 Thread Anthony PERARD
.. because it makes QMP calls which are going to be async. Signed-off-by: Anthony PERARD --- tools/libxl/libxl.h| 12 +++- tools/libxl/libxl_domain.c | 12 tools/xl/xl_misc.c | 4 ++-- tools/xl/xl_vmcontrol.c| 4 ++-- 4 files changed, 23 insertions(+),

[Xen-devel] [PATCH 03/35] libxl: Make libxl_set_vcpuonline async

2019-08-02 Thread Anthony PERARD
.. because it makes QMP calls which are going to be async. Signed-off-by: Anthony PERARD --- tools/libxl/libxl.h| 14 +- tools/libxl/libxl_domain.c | 12 tools/xl/xl_cpupool.c | 2 +- tools/xl/xl_vcpu.c | 2 +- 4 files changed, 23 insertions(+), 7

[Xen-devel] [PATCH 07/35] libxl: Move "qmp_initializations" to libxl_dm

2019-08-02 Thread Anthony PERARD
libxl__qmp_initializations is part of the device domain startup, it queries information about the newly spawned QEMU and do some post-startup configuration. So the function call doesn't belong to the general domain creation, but only to the device model part of the process, thus the call belong to

[Xen-devel] [PATCH 05/35] libxl: Make libxl_qemu_monitor_command async

2019-08-02 Thread Anthony PERARD
.. because it makes QMP calls which are going to be async. Signed-off-by: Anthony PERARD --- tools/libxl/libxl.h | 13 - tools/libxl/libxl_qmp.c | 9 + tools/xl/xl_misc.c | 2 +- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/tools/libxl/libxl.h

[Xen-devel] [PATCH 08/35] libxl: Replace libxl__qmp_initializations by ev_qmp calls

2019-08-02 Thread Anthony PERARD
Setup a timeout of 10s for all the commands. It used to be about 5s per commands. The order of command is changed, we call 'query-vnc' before 'change-vnc-password', but that should not matter. That makes it easier to call 'change-vnc-password' conditionally. Also 'change' command is replaced by

[Xen-devel] [PATCH 06/35] libxl: Use ev_qmp for switch_qemu_xen_logdirty

2019-08-02 Thread Anthony PERARD
Signed-off-by: Anthony PERARD --- tools/libxl/libxl_dom_save.c | 41 tools/libxl/libxl_internal.h | 3 +-- tools/libxl/libxl_qmp.c | 10 - 3 files changed, 38 insertions(+), 16 deletions(-) diff --git a/tools/libxl/libxl_dom_save.c

[Xen-devel] [PATCH 01/35] libxl: Make libxl_domain_unpause async

2019-08-02 Thread Anthony PERARD
libxl_domain_unpause needs to make QMP calls, which are asynchronous, change the API to reflect that. Do the same with libxl_domain_pause async, even if it will keep completing synchronously. Also fix some coding style issue in those functions. Signed-off-by: Anthony PERARD ---

[Xen-devel] [PATCH 04/35] libxl: Make libxl_retrieve_domain_configuration async

2019-08-02 Thread Anthony PERARD
.. because it makes QMP calls which are going to be async. Signed-off-by: Anthony PERARD --- tools/libxl/libxl.h| 12 +++- tools/libxl/libxl_domain.c | 14 +++--- tools/xl/xl_info.c | 3 ++- tools/xl/xl_saverestore.c | 3 ++- tools/xl/xl_vmcontrol.c| 3

[Xen-devel] [PATCH 09/35] libxl: Deprecate libxl__domain_{unpause, resume}

2019-08-02 Thread Anthony PERARD
These two functions are used from many places in libxl and need to change to be able to accomodate libxl__ev_qmp calls and thus needs to be asynchronous. (There is also libxl__domain_resume_device_model in the mix.) A later patch will introduce a new libxl__domain_resume and

Re: [Xen-devel] [PATCH] fix BUG in gnttab_unpopulate_status_frames()

2019-08-02 Thread George Dunlap
On 8/2/19 3:44 PM, Jan Beulich wrote: > On 30.07.2019 18:44, Paul Durrant wrote: >> --- a/xen/common/grant_table.c >> +++ b/xen/common/grant_table.c >> @@ -1682,6 +1682,14 @@ gnttab_unpopulate_status_frames(struct domain *d, >> struct grant_table *gt) >> struct page_info *pg =

Re: [Xen-devel] [PATCH v8 11/16] microcode: pass a patch pointer to apply_microcode()

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > apply_microcode()'s always loading the cached ucode patch forces > a patch to be stored before being loading. Make apply_microcode() > accept a patch pointer to remove the limitation so that a patch > can be stored after a successful loading. > >

Re: [Xen-devel] [PATCH v8 10/16] microcode/amd: call svm_host_osvw_init() in common code

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode.c > +++ b/xen/arch/x86/microcode.c > @@ -277,6 +277,9 @@ static long do_microcode_update(void *_info) > if ( error ) > info->error = error; > > +if ( microcode_ops->end_update ) > +

Re: [Xen-devel] [PATCH v8 09/16] microcode: remove pointless 'cpu' parameter

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode_amd.c > +++ b/xen/arch/x86/microcode_amd.c > @@ -78,23 +78,23 @@ struct mpbhdr { > static DEFINE_SPINLOCK(microcode_update_lock); > > /* See comment in start_update() for cases when this routine fails */ > -static int

Re: [Xen-devel] [PATCH v8 08/16] microcode: remove struct ucode_cpu_info

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > Remove the per-cpu cache field in struct ucode_cpu_info since it has > been replaced by a global cache. It would leads to only one field > remaining in ucode_cpu_info. Then, this struct is removed and the > remaining field (cpu signature) is stored in per-cpu

Re: [Xen-devel] [PATCH v8 07/16] microcode: clean up microcode_resume_cpu

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > Previously, a per-cpu ucode cache is maintained. Then each CPU had one > per-cpu update cache and there might be multiple versions of microcode. > Thus microcode_resume_cpu tried best to update microcode by loading > every update cache until a successful

Re: [Xen-devel] [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-02 Thread Jan Kara
On Fri 02-08-19 07:24:43, Matthew Wilcox wrote: > On Fri, Aug 02, 2019 at 02:41:46PM +0200, Jan Kara wrote: > > On Fri 02-08-19 11:12:44, Michal Hocko wrote: > > > On Thu 01-08-19 19:19:31, john.hubb...@gmail.com wrote: > > > [...] > > > > 2) Convert all of the call sites for get_user_pages*(), to

Re: [Xen-devel] [PATCH v8 06/16] microcode: introduce a global cache of ucode patch

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > +bool microcode_update_cache(struct microcode_patch *patch) > +{ > + > +ASSERT(spin_is_locked(_mutex)); > + > +if ( !microcode_cache ) > +microcode_cache = patch; > +else if ( microcode_ops->compare_patch(patch, microcode_cache) == > +

Re: [Xen-devel] [PATCH] fix BUG in gnttab_unpopulate_status_frames()

2019-08-02 Thread Jan Beulich
On 30.07.2019 18:44, Paul Durrant wrote: > --- a/xen/common/grant_table.c > +++ b/xen/common/grant_table.c > @@ -1682,6 +1682,14 @@ gnttab_unpopulate_status_frames(struct domain *d, > struct grant_table *gt) > struct page_info *pg = virt_to_page(gt->status[i]); > gfn_t gfn =

[Xen-devel] [GIT PULL] xen: fixes for 5.3-rc3

2019-08-02 Thread Juergen Gross
Linus, Please git pull the following tag: git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git for-linus-5.3a-rc3-tag xen: fixes for 5.3-rc3 It contains: - a small cleanup - a fix for a build error on ARM with some configs - a fix of a patch for the Xen gntdev driver - 3 patches for

Re: [Xen-devel] [PATCH 26/34] mm/gup_benchmark.c: convert put_page() to put_user_page*()

2019-08-02 Thread Keith Busch
On Thu, Aug 01, 2019 at 07:19:57PM -0700, john.hubb...@gmail.com wrote: > From: John Hubbard > > For pages that were retained via get_user_pages*(), release those pages > via the new put_user_page*() routines, instead of via put_page() or > release_pages(). > > This is part a tree-wide

Re: [Xen-devel] [PATCH] ci: install C++ in opensuse-leap CI container

2019-08-02 Thread Dario Faggioli
On Fri, 2019-08-02 at 13:11 +0100, Andrew Cooper wrote: > On 02/08/2019 13:00, Dario Faggioli wrote: > > On Mon, 2019-07-29 at 12:18 -0500, Doug Goldstein wrote: > > > > > > Will you be pushing the rebuilt container or do you need me to do > > > that? > > > > So, I guess someone else, with enough

Re: [Xen-devel] [PATCH 00/34] put_user_pages(): miscellaneous call sites

2019-08-02 Thread Matthew Wilcox
On Fri, Aug 02, 2019 at 02:41:46PM +0200, Jan Kara wrote: > On Fri 02-08-19 11:12:44, Michal Hocko wrote: > > On Thu 01-08-19 19:19:31, john.hubb...@gmail.com wrote: > > [...] > > > 2) Convert all of the call sites for get_user_pages*(), to > > > invoke put_user_page*(), instead of put_page().

[Xen-devel] [libvirt test] 139627: tolerable all pass - PUSHED

2019-08-02 Thread osstest service owner
flight 139627 libvirt real [real] http://logs.test-lab.xenproject.org/osstest/logs/139627/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-armhf-armhf-libvirt 14 saverestore-support-checkfail like 139585 test-armhf-armhf-libvirt-raw 13

Re: [Xen-devel] [RFC 5/6] arm64: call enter_hypervisor_head only when it is needed

2019-08-02 Thread Andrii Anisov
On 01.08.19 13:17, Julien Grall wrote: All the commit message is based on "performance improvement" Now you are selling it as this is confusing. Sorry Julien, I have no more arguments for you. I'll drop these two patches for the next iteration. -- Sincerely, Andrii Anisov.

Re: [Xen-devel] [RFC 1/6] xen/arm: Re-enable interrupt later in the trap path

2019-08-02 Thread Julien Grall
Hi, /!\/!\/!\ I am not a scheduler expert so my view maybe be wrong. Dario feel free to correct me :). /!\/!\/!\ On 02/08/2019 14:07, Andrii Anisov wrote: On 02.08.19 12:15, Julien Grall wrote: I can make such a list, how it is done in this series:  From the list below it is not clear

Re: [Xen-devel] [PATCH v8 05/16] microcode/amd: distinguish old and mismatched ucode in microcode_fits()

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > Sometimes, an ucode with a level lower than or equal to current CPU's > patch level is useful. For example, to work around a broken bios which > only loads ucode for BSP, when BSP parses an ucode blob during bootup, > it is better to save an ucode with lower

Re: [Xen-devel] [PATCH v8 04/16] microcode/amd: fix memory leak

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode_amd.c > +++ b/xen/arch/x86/microcode_amd.c > @@ -433,6 +433,9 @@ static int cpu_request_microcode(unsigned int cpu, const > void *buf, > goto out; > } > > +mc_amd->equiv_cpu_table_size = 0; > +

Re: [Xen-devel] [RFC] Re-working the patch submission guide

2019-08-02 Thread Lars Kurth
On 02/08/2019, 14:03, "Julien Grall" wrote: On 02/08/2019 14:02, Julien Grall wrote: > Hi Jan, > > On 02/08/2019 13:52, Jan Beulich wrote: >> On 02.08.2019 13:14, Lars Kurth wrote: 1.5.4 Sending Patches Manually >>> This should be removed or state

Re: [Xen-devel] [PATCH v8 03/16] microcode/intel: extend microcode_update_match()

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode_intel.c > +++ b/xen/arch/x86/microcode_intel.c > @@ -134,14 +134,35 @@ static int collect_cpu_info(unsigned int cpu_num, > struct cpu_signature *csig) > return 0; > } > > -static inline int microcode_update_match( > -

Re: [Xen-devel] [PATCH v8 02/16] x86/microcode: always collect_cpu_info() during boot

2019-08-02 Thread Jan Beulich
On 01.08.2019 12:22, Chao Gao wrote: > --- a/xen/arch/x86/microcode.c > +++ b/xen/arch/x86/microcode.c > @@ -383,10 +383,15 @@ static struct notifier_block microcode_percpu_nfb = { > > int __init early_microcode_update_cpu(bool start_update) > { > +unsigned int cpu = smp_processor_id();

Re: [Xen-devel] [RFC 1/6] xen/arm: Re-enable interrupt later in the trap path

2019-08-02 Thread Julien Grall
Hi Andrii, On 02/08/2019 13:24, Andrii Anisov wrote: On 02.08.19 12:03, Julien Grall wrote: A fair amount of leave_hypervisor_tail() deal with the guest itself (i.e vGIC, P2M...) All that stuff is what hypervisor does for the guest. And does behind the guest's back. Please define

Re: [Xen-devel] [PATCH] x86/iommu: remove usage of {set/clear}_identity_p2m_entry against PV domains

2019-08-02 Thread Jan Beulich
On 02.08.2019 11:22, Roger Pau Monne wrote: > Switch rmrr_identity_mapping to use iommu_{un}map in order to > establish RMRR mappings for PV domains, like it's done in > arch_iommu_hwdom_init. This solves the issue of a PV hardware domain > not getting RMRR mappings because

[Xen-devel] [PATCH 1/3] xen/sched: populate cpupool0 only after all cpus are up

2019-08-02 Thread Juergen Gross
With core or socket scheduling we need to know the number of siblings per scheduling unit before we can setup the scheduler properly. In order to prepare that do cpupool0 population only after all cpus are up. With that in place there is no need to create cpupool0 earlier, so do that just before

[Xen-devel] [PATCH 2/3] xen/sched: remove cpu from pool0 before removing it

2019-08-02 Thread Juergen Gross
Today a cpu which is removed from the system is taken directly from Pool0 to the offline state. This will conflict with the new idle scheduler, so remove it from Pool0 first. Additionally accept removing a free cpu instead of requiring it to be in Pool0. For the resume failed case we need to call

Re: [Xen-devel] [RFC 1/6] xen/arm: Re-enable interrupt later in the trap path

2019-08-02 Thread Andrii Anisov
On 02.08.19 12:15, Julien Grall wrote: I can make such a list, how it is done in this series: From the list below it is not clear what is the split between hypervisor time and guest time. See some of the examples below. I guess your question is *why* do I split hyp/guest time in such a

[Xen-devel] [PATCH 3/3] xen/sched: add minimalistic idle scheduler for free cpus

2019-08-02 Thread Juergen Gross
Instead of having a full blown scheduler running for the free cpus add a very minimalistic scheduler for that purpose only ever scheduling the related idle vcpu. This has the big advantage of not needing any per-cpu, per-domain or per-scheduling unit data for free cpus and in turn simplifying

  1   2   >