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

2019-08-02 Thread Andrii Anisov
Hello Dario On 01.08.19 14:19, Dario Faggioli wrote: On Thu, 2019-08-01 at 09:45 +0300, Andrii Anisov wrote: Hello Julien, On 30.07.19 23:10, Julien Grall wrote: In this series I think I need interrupts locked until I start time accounting for hypervisor. Time accounting is started by `tacc_

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

2019-08-02 Thread Peter Zijlstra
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 problem and the planned steps to > solve

Re: [Xen-devel] [BUG] After upgrade to Xen 4.12.0 iommu=no-igfx

2019-08-02 Thread Roger Pau Monné
On Thu, Aug 01, 2019 at 11:25:04AM -0700, Roman Shaposhnik wrote: > On Thu, Aug 1, 2019 at 1:16 AM Roger Pau Monné wrote: > > > > On Wed, Jul 31, 2019 at 02:03:24PM -0700, Roman Shaposhnik wrote: > > > On Wed, Jul 31, 2019 at 12:46 PM Andrew Cooper > > > wrote: > > > > > > > > On 31/07/2019 20:35

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

2019-08-02 Thread Juergen Gross
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 --- a/drivers/xen/privcmd.c +++ b/drivers/

[Xen-devel] [linux-linus bisection] complete test-amd64-i386-qemuu-rhel6hvm-intel

2019-08-02 Thread osstest service owner
branch xen-unstable xenbranch xen-unstable job test-amd64-i386-qemuu-rhel6hvm-intel testid xen-boot Tree: linux git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git Tree: linuxfirmware git://xenbits.xen.org/osstest/linux-firmware.git Tree: ovmf git://xenbits.xen.org/osstest/ovmf.gi

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

2019-08-02 Thread Andrii Anisov
On 01.08.19 12:37, Julien Grall wrote: Hi, On 01/08/2019 07:45, Andrii Anisov wrote: On 30.07.19 23:10, Julien Grall wrote: In this series I think I need interrupts locked until I start time accounting for hypervisor. Time accounting is started by `tacc_head()` function. I prefer to have

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

2019-08-02 Thread Jens Wiklander
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 conversion, as described in commit fc1d8e7

Re: [Xen-devel] [RFC] xen: Add .astylerc for automated style-formatting

2019-08-02 Thread Viktor Mitin
On Thu, Aug 1, 2019 at 3:50 PM Juergen Gross wrote: > > On 01.08.19 14:16, Viktor Mitin wrote: > > On Thu, Aug 1, 2019 at 10:40 AM Jan Beulich wrote: > >> > >> On 31.07.2019 18:20, Viktor Mitin wrote: > >>> How all those projects live without this issue? > >> > >> Perhaps they don't care? I do. >

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

2019-08-02 Thread Wei Liu
On Thu, 1 Aug 2019 at 17:48, Andrew Cooper wrote: > > On 01/08/2019 17:00, Juergen Gross wrote: > > == Hypervisor == > > > > * Improvements to domain creation (v2) > > - Andrew Cooper > > This should probably be dropped. Its not going to get a look in in the > forseeable future, and is in the

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

2019-08-02 Thread Julien Grall
On 02/08/2019 09:28, Andrii Anisov wrote: On 01.08.19 12:37, Julien Grall wrote: Hi, On 01/08/2019 07:45, Andrii Anisov wrote: On 30.07.19 23:10, Julien Grall wrote: In this series I think I need interrupts locked until I start time accounting for hypervisor. Time accounting is started b

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

2019-08-02 Thread Roger Pau Monné
On Thu, Aug 01, 2019 at 11:11:50AM -0700, Roman Shaposhnik wrote: > On Thu, Aug 1, 2019 at 9:01 AM 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 > > prio

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

2019-08-02 Thread Michal Hocko
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(). This involves dozens of > call sites, and will take some time. How do we make sure this is the case and it will remain the ca

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

2019-08-02 Thread Julien Grall
Hi, On 02/08/2019 08:50, Andrii Anisov wrote: Hello Dario On 01.08.19 14:19, Dario Faggioli wrote: On Thu, 2019-08-01 at 09:45 +0300, Andrii Anisov wrote: Hello Julien, On 30.07.19 23:10, Julien Grall wrote: In this series I think I need interrupts locked until I start time accounting for

Re: [Xen-devel] [RFC] xen: Add .astylerc for automated style-formatting

2019-08-02 Thread Juergen Gross
On 02.08.19 10:38, Viktor Mitin wrote: On Thu, Aug 1, 2019 at 3:50 PM Juergen Gross wrote: On 01.08.19 14:16, Viktor Mitin wrote: On Thu, Aug 1, 2019 at 10:40 AM Jan Beulich wrote: On 31.07.2019 18:20, Viktor Mitin wrote: How all those projects live without this issue? Perhaps they don'

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

2019-08-02 Thread Roger Pau Monne
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 {set/clear}_identity_p2m_entry was not properly updating the iommu page tabl

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

2019-08-02 Thread Joonas Lahtinen
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 tree-wide conversion, as described in

Re: [Xen-devel] [Question] Proper location for Linux error code (-EPROBE_DEFER) in Xen

2019-08-02 Thread Julien Grall
Hi Oleksandr, On 01/08/2019 19:40, Oleksandr wrote: On 01.08.19 18:46, Jan Beulich wrote: On 01.08.2019 16:54, Oleksandr wrote: On 01.08.19 17:34, Jan Beulich wrote: On 01.08.2019 16:31, Oleksandr wrote:     This is needed for the upcoming V2 of the IPMMU driver (ARM) [1] which may request

Re: [Xen-devel] [PATCH v5 2/2] xen/arm: consolidate make_timer_node and make_timer_domU_node

2019-08-02 Thread Julien Grall
Hi, On 01/08/2019 17:56, Viktor Mitin wrote: On Thu, Aug 1, 2019 at 5:50 PM Volodymyr Babchuk wrote: In this case we also can declare and use intrs[] in the same way. There is no guarantee the index in irq will match intrs[...]. So you need to keep them hardcoded in the latter case. Oh, ri

Re: [Xen-devel] [PATCH v5 2/2] xen/arm: consolidate make_timer_node and make_timer_domU_node

2019-08-02 Thread Julien Grall
Hi Viktor, On 01/08/2019 17:46, Viktor Mitin wrote: On Thu, Aug 1, 2019 at 4:58 PM Julien Grall wrote: On 01/08/2019 14:57, Julien Grall wrote: +unsigned int irq[MAX_TIMER_PPI]; As I said in the previous version, you are wasting stack space there. Also, this is misleading. When I se

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

2019-08-02 Thread Dario Faggioli
On Thu, 2019-08-01 at 18:00 +0200, Juergen Gross wrote: > > = Projects = > > == Hypervisor == > > [...] > > * Core aware scheduling (RFC v1) > - Dario Faggioli > > * Core aware scheduling for credit2 (RFC v1) > - Dario Faggioli > So, in theory, my patches can be made work on top of yo

Re: [Xen-devel] "CPU N still not dead..." messages during microcode update stage of boot when smt=0

2019-08-02 Thread Andrew Cooper
On 02/08/2019 05:51, Juergen Gross wrote: > On 02.08.19 04:15, Andy Smith wrote: >> Hi, >> >> On Mon, Jul 22, 2019 at 01:06:03PM +0100, Andrew Cooper wrote: >>> On 22/07/2019 10:16, Jan Beulich wrote: On 21.07.2019 22:06, Andy Smith wrote: > (XEN) Adding cpu 1 to runqueue 0 > (XEN) CPU

Re: [Xen-devel] [BUG] Assertion failed: !blk->legacy_dev

2019-08-02 Thread Anthony PERARD
On Thu, Aug 01, 2019 at 11:00:42AM -0700, Roman Shaposhnik wrote: > Got it! So please bear with me for a little bit longer: I'm looking at > http://xenbits.xen.org/gitweb/?p=qemu-xen.git;a=summary > and I see that it is based on a stock, upstream qemu 4.0.0 with > just two patches on top: >

Re: [Xen-devel] [PATCH v8 00/16] improve late microcode loading

2019-08-02 Thread Roger Pau Monné
On Thu, Aug 01, 2019 at 06:22:35PM +0800, Chao Gao wrote: > Changes in version 8: > - block #NMI handling during microcode loading (Patch 16) > - Don't assume that all CPUs in the system have loaded a same ucode. > So when parsing a blob, we attempt to save a patch as long as it matches > with

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

2019-08-02 Thread Lars Kurth
Hi all, In preparation of migrating docs to sphinx-docs, I first wanted to clean up https://wiki.xenproject.org/wiki/Submitting_Xen_Project_Patches. Before I do some work on it, I wanted to outline my thoughts on the content > 1 How To Generate and Submit Patches to the Xen Project > 1.1 Gene

Re: [Xen-devel] [PATCH v5 2/2] xen/arm: consolidate make_timer_node and make_timer_domU_node

2019-08-02 Thread Viktor Mitin
On Fri, Aug 2, 2019 at 12:41 PM Julien Grall wrote: > > > > Well, I address each of the comments or write about it explicitly in > > other cases. > > In this particular case, I'd added '-1', but later did not merge it > > due to mistake. > > So it supposed to be the next: > > +unsigned int ir

Re: [Xen-devel] [RFC] xen: Add .astylerc for automated style-formatting

2019-08-02 Thread Viktor Mitin
On Fri, Aug 2, 2019 at 12:23 PM Juergen Gross wrote: > >> A snipplet from commit 57f8b13c724023c78fa15a80452d1de3e51a1418: > >> > >> @@ -4096,14 +4097,12 @@ retry_transaction: > >>goto out; > >> > >>if (target == NULL) { > >> -libxl__xs_printf(gc, t, target_path, "%"PR

[Xen-devel] [ANNOUNCE] Minutes of Aug 1 2019 Community Call

2019-08-02 Thread Lars Kurth
Hi all, please find attached the minutes of yesterday’s community call Also, at https://cryptpad.fr/pad/#/2/pad/view/MEmhAJP0tolLJOoFo1-ILwTDrKaz8xpWE+RljeHA5S4/ (read-only mode) Lars 2019-08 Community Call.pdf Description: 2019-08 Community Call.pdf ___

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

2019-08-02 Thread Dario Faggioli
On Mon, 2019-07-29 at 12:18 -0500, Doug Goldstein wrote: > On 7/26/19 5:03 AM, Dario Faggioli wrote: > > > The openSUSE Leap container image, built after > > opensuse-leap.dockerfile was missing the gcc-c++, > > which is necessary, e.g., for building OVMF. > > > > Add it. > > > > Signed-off-by:

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

2019-08-02 Thread Andrew Cooper
On 02/08/2019 13:00, Dario Faggioli wrote: > On Mon, 2019-07-29 at 12:18 -0500, Doug Goldstein wrote: >> On 7/26/19 5:03 AM, Dario Faggioli wrote: >> >>> The openSUSE Leap container image, built after >>> opensuse-leap.dockerfile was missing the gcc-c++, >>> which is necessary, e.g., for building O

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: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. , so I think they should be accounted to the guest time. This point is arg

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

2019-08-02 Thread Jan Kara
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(). This involves dozens of > > call sites, and will take some time. > > Ho

[Xen-devel] [linux-linus test] 139616: regressions - FAIL

2019-08-02 Thread osstest service owner
flight 139616 linux-linus real [real] http://logs.test-lab.xenproject.org/osstest/logs/139616/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-i386-xl-raw7 xen-boot fail REGR. vs. 133580 test-amd64-i386-qem

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

2019-08-02 Thread Jan Beulich
On 02.08.2019 13:14, Lars Kurth wrote: >> 1.5.4 Sending Patches Manually > This should be removed or state NOT TO DO this Please don't. I'm not meaning to start using git for patch submission any time soon (if ever), and I don't see why this should be a requirement. Jan __

Re: [Xen-devel] [RFC] xen: Add .astylerc for automated style-formatting

2019-08-02 Thread Jan Beulich
On 02.08.2019 13:44, Viktor Mitin wrote: > On Fri, Aug 2, 2019 at 12:23 PM Juergen Gross wrote: > A snipplet from commit 57f8b13c724023c78fa15a80452d1de3e51a1418: @@ -4096,14 +4097,12 @@ retry_transaction: goto out; if (target == NULL) { -

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

2019-08-02 Thread Julien Grall
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 NOT TO DO this Please don't. I'm not meaning to start using git for patch submission any time soon (if ever), and I don't see why this should

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

2019-08-02 Thread George Dunlap
On 8/2/19 1:52 PM, Jan Beulich wrote: > On 02.08.2019 13:14, Lars Kurth wrote: >>> 1.5.4 Sending Patches Manually >> This should be removed or state NOT TO DO this > > Please don't. I'm not meaning to start using git for patch submission > any time soon (if ever), and I don't see why this should b

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

2019-08-02 Thread Andrew Cooper
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 NOT TO DO this > Please don't. I'm not meaning to start using git for patch submission > any time soon (if ever), and I don't see why this should be

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

2019-08-02 Thread Julien Grall
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 NOT TO DO this Please don't. I'm not meaning to start using git for patch submission any time soon

[Xen-devel] [PATCH 0/3] xen/sched: use new idle scheduler for free cpus

2019-08-02 Thread Juergen Gross
These three patches have been carved out from my core scheduling series as they are sufficiently independent to be applied even without the big series. Without this little series there are messages like the following to be seen on the console when booting with smt=0: (XEN) Adding cpu 1 to runqueu

[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 wa

[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 movin

[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 a

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 {set/clear}_identity_p2m

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 "guest's

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] [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] [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 NO

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; > +mc_amd->eq

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 o

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] [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. _

[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 saveresto

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(). This

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 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 conversio

[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 fixi

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 = gn

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(µcode_mutex)); > + > +if ( !microcode_cache ) > +microcode_cache = patch; > +else if ( microcode_ops->compare_patch(patch, microcode_cache) == > +

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 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 load.

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 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 collec

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 ) > +microcode_ops->end_

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. > > Signed-off-b

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 = virt_to_pa

[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 libxl__domain_unpause

[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 --- tools/libxl/lib

[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 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 b/

[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 b/tools/libxl

[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 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 sup

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 boiler-p

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 bu

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 dep

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 the

[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 dele

[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 insertions(+

[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 --- tools/libxl/libxl_usb.c

[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 not,

[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 | 121

[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 ++- 3

[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 +++ b/tools

[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 +++ b/tools

[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 +++ b/tools/libx

[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 +++ b/tools

[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 +++ b/tools/

[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 --- a/tools/libxl/lib

[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 5c15a73a08..dd993414

[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 fi

[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 b

  1   2   >