[Xen-devel] [xen-unstable-smoke test] 141325: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141325 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141325/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

[Xen-devel] [xen-unstable-smoke test] 141319: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141319 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141319/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

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

2019-09-14 Thread osstest service owner
flight 141292 linux-linus real [real] http://logs.test-lab.xenproject.org/osstest/logs/141292/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-i386-xl-qemut-stubdom-debianhvm-amd64-xsm 7 xen-boot fail REGR. vs. 133580 test-amd64-

[Xen-devel] [qemu-mainline test] 141285: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141285 qemu-mainline real [real] http://logs.test-lab.xenproject.org/osstest/logs/141285/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-pvshim 20 guest-start/debian.repeat fail REGR. vs. 140282 Tests which did n

[Xen-devel] [xen-unstable-smoke test] 141313: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141313 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141313/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

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

2019-09-14 Thread osstest service owner
flight 141283 linux-4.19 real [real] http://logs.test-lab.xenproject.org/osstest/logs/141283/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-pvshim 20 guest-start/debian.repeat fail REGR. vs. 129313 build-armhf-pvops

[Xen-devel] [xen-unstable-smoke test] 141310: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141310 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141310/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

[Xen-devel] [linux-4.9 test] 141277: tolerable FAIL - PUSHED

2019-09-14 Thread osstest service owner
flight 141277 linux-4.9 real [real] http://logs.test-lab.xenproject.org/osstest/logs/141277/ Failures :-/ but no regressions. Tests which are failing intermittently (not blocking): test-arm64-arm64-libvirt-xsm 7 xen-boot fail in 141254 pass in 141277 test-amd64-amd64-xl-pvshim 18 gue

[Xen-devel] [xen-unstable-smoke test] 141306: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141306 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141306/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

[Xen-devel] [xen-unstable test] 141276: tolerable FAIL - PUSHED

2019-09-14 Thread osstest service owner
flight 141276 xen-unstable real [real] http://logs.test-lab.xenproject.org/osstest/logs/141276/ Failures :-/ but no regressions. Tests which did not succeed, but are not blocking: test-amd64-amd64-xl-qemut-win7-amd64 17 guest-stopfail like 139876 test-amd64-i386-xl-qemuu-win7-amd64

[Xen-devel] [linux-next test] 141271: tolerable FAIL

2019-09-14 Thread osstest service owner
flight 141271 linux-next real [real] http://logs.test-lab.xenproject.org/osstest/logs/141271/ Failures :-/ but no regressions. Tests which are failing intermittently (not blocking): test-amd64-amd64-libvirt-vhd 11 guest-start fail in 141085 pass in 141271 test-amd64-amd64-xl-pvshim 12 gu

[Xen-devel] [PATCH v6 1/6] libxl: do not attach xen-pciback to HVM domain, if stubdomain is in use

2019-09-14 Thread Marek Marczykowski-Górecki
HVM domains use IOMMU and device model assistance for communicating with PCI devices, xen-pcifront/pciback isn't directly needed by HVM domain. But pciback serve also second function - it reset the device when it is deassigned from the guest and for this reason pciback needs to be used with HVM dom

[Xen-devel] [PATCH v6 4/6] xen/x86: Allow stubdom access to irq created for msi.

2019-09-14 Thread Marek Marczykowski-Górecki
Stubdomains need to be given sufficient privilege over the guest which it provides emulation for in order for PCI passthrough to work correctly. When a HVM domain try to enable MSI, QEMU in stubdomain calls PHYSDEVOP_map_pirq, but later it needs to call XEN_DOMCTL_bind_pt_irq as part of xc_domain_u

[Xen-devel] [PATCH v6 2/6] libxl: attach PCI device to qemu only after setting pciback/pcifront

2019-09-14 Thread Marek Marczykowski-Górecki
When qemu is running in stubdomain, handling "pci-ins" command will fail if pcifront is not initialized already. Fix this by sending such command only after confirming that pciback/front is running. Signed-off-by: Marek Marczykowski-Górecki Acked-by: Wei Liu --- Changes in v2: - Fixed code style

[Xen-devel] [PATCH v6 0/6] Fix PCI passthrough for HVM with stubdomain

2019-09-14 Thread Marek Marczykowski-Górecki
In this version, I add PHYSDEVOP_interrupt_control to allow stubdomain enabling MSI after mapping it, and also disabling INTx beforehand. Actual hypercall refuse to enable both of them. Related article: https://www.qubes-os.org/news/2017/10/18/msi-support/ Changes in v2: - new "xen/x86: Allow st

[Xen-devel] [PATCH v6 6/6] tools/libxc: add wrapper for PHYSDEVOP_interrupt_control

2019-09-14 Thread Marek Marczykowski-Górecki
Add libxc wrapper for PHYSDEVOP_interrupt_control introduced in previous commit. Signed-off-by: Marek Marczykowski-Górecki --- Changes in v3: - new patch Changes in v4: - adjust for updated previous patch Changes in v5: - rename to PHYSDEVOP_msi_control, adjust arguments Change in v6: - initi

[Xen-devel] [PATCH v6 5/6] xen/x86: add PHYSDEVOP_interrupt_control

2019-09-14 Thread Marek Marczykowski-Górecki
Allow device model running in stubdomain to enable/disable INTx/MSI(-X), bypassing pciback. While pciback is still used to access config space from within stubdomain, it refuse to write to PCI_MSI_FLAGS_ENABLE/PCI_MSIX_FLAGS_ENABLE/PCI_COMMAND_INTX_DISABLE in non-permissive mode. Which is the right

[Xen-devel] [PATCH v6 3/6] libxl: don't try to manipulate json config for stubdomain

2019-09-14 Thread Marek Marczykowski-Górecki
Stubdomain do not have it's own config file - its configuration is derived from target domains. Do not try to manipulate it when attaching PCI device. This bug prevented starting HVM with stubdomain and PCI passthrough device attached. Signed-off-by: Marek Marczykowski-Górecki Acked-by: Wei Liu

[Xen-devel] [xen-unstable-smoke test] 141304: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141304 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141304/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

[Xen-devel] [xen-unstable-smoke test] 141299: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141299 xen-unstable-smoke real [real] http://logs.test-lab.xenproject.org/osstest/logs/141299/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-armhf-armhf-xl 7 xen-boot fail REGR. vs. 141253 Tests which

[Xen-devel] [linux-4.14 test] 141267: regressions - FAIL

2019-09-14 Thread osstest service owner
flight 141267 linux-4.14 real [real] http://logs.test-lab.xenproject.org/osstest/logs/141267/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: test-amd64-amd64-xl-pvshim 17 guest-saverestore.2 fail REGR. vs. 139910 Tests which did not

[Xen-devel] [PATCH v3 44/47] xen/sched: support differing granularity in schedule_cpu_[add/rm]()

2019-09-14 Thread Juergen Gross
With core scheduling active schedule_cpu_[add/rm]() has to cope with different scheduling granularity: a cpu not in any cpupool is subject to granularity 1 (cpu scheduling), while a cpu in a cpupool might be in a scheduling resource with more than one cpu. Handle that by having arrays of old/new p

[Xen-devel] [PATCH v3 17/47] xen/sched: make credit2 scheduler vcpu agnostic.

2019-09-14 Thread Juergen Gross
Switch credit2 scheduler completely from vcpu to sched_unit usage. As we are touching lots of lines remove some white space at the end of the line, too. Signed-off-by: Juergen Gross --- xen/common/sched_credit2.c | 820 ++--- 1 file changed, 403 insertion

[Xen-devel] [PATCH v3 45/47] xen/sched: support core scheduling for moving cpus to/from cpupools

2019-09-14 Thread Juergen Gross
With core scheduling active it is necessary to move multiple cpus at the same time to or from a cpupool in order to avoid split scheduling resources in between. Signed-off-by: Juergen Gross --- V1: new patch --- xen/common/cpupool.c | 100 + xen/

[Xen-devel] [PATCH v3 40/47] xen/sched: prepare per-cpupool scheduling granularity

2019-09-14 Thread Juergen Gross
On- and offlining cpus with core scheduling is rather complicated as the cpus are taken on- or offline one by one, but scheduling wants them rather to be handled per core. As the future plan is to be able to select scheduling granularity per cpupool prepare that by storing the granularity in struc

[Xen-devel] [PATCH v3 11/47] xen/sched: rename scheduler related perf counters

2019-09-14 Thread Juergen Gross
Rename the scheduler related perf counters from vcpu* to unit* where appropriate. Signed-off-by: Juergen Gross --- xen/common/sched_credit.c| 32 xen/common/sched_credit2.c | 18 +- xen/common/sched_null.c | 18 +- xen/c

[Xen-devel] [PATCH v3 41/47] xen/sched: split schedule_cpu_switch()

2019-09-14 Thread Juergen Gross
Instead of letting schedule_cpu_switch() handle moving cpus from and to cpupools, split it into schedule_cpu_add() and schedule_cpu_rm(). This will allow us to drop allocating/freeing scheduler data for free cpus as the idle scheduler doesn't need such data. Signed-off-by: Juergen Gross --- V1:

[Xen-devel] [PATCH v3 34/47] xen/sched: add fall back to idle vcpu when scheduling unit

2019-09-14 Thread Juergen Gross
When scheduling an unit with multiple vcpus there is no guarantee all vcpus are available (e.g. above maxvcpus or vcpu offline). Fall back to idle vcpu of the current cpu in that case. This requires to store the correct schedule_unit pointer in the idle vcpu as long as it used as fallback vcpu. In

[Xen-devel] [PATCH v3 42/47] xen/sched: protect scheduling resource via rcu

2019-09-14 Thread Juergen Gross
In order to be able to move cpus to cpupools with core scheduling active it is mandatory to merge multiple cpus into one scheduling resource or to split a scheduling resource with multiple cpus in it into multiple scheduling resources. This in turn requires to modify the cpu <-> scheduling resource

[Xen-devel] [PATCH v3 47/47] xen/sched: add scheduling granularity enum

2019-09-14 Thread Juergen Gross
Add a scheduling granularity enum ("cpu", "core", "socket") for specification of the scheduling granularity. Initially it is set to "cpu", this can be modified by the new boot parameter (x86 only) "sched-gran". According to the selected granularity sched_granularity is set after all cpus are onlin

[Xen-devel] [PATCH v3 32/47] xen/sched: support allocating multiple vcpus into one sched unit

2019-09-14 Thread Juergen Gross
With a scheduling granularity greater than 1 multiple vcpus share the same struct sched_unit. Support that. Setting the initial processor must be done carefully: we can't use sched_set_res() as that relies on for_each_sched_unit_vcpu() which in turn needs the vcpu already as a member of the domain

[Xen-devel] [PATCH v3 33/47] xen/sched: add a percpu resource index

2019-09-14 Thread Juergen Gross
Add a percpu variable holding the index of the cpu in the current sched_resource structure. This index is used to get the correct vcpu of a sched_unit on a specific cpu. For now this index will be zero for all cpus, but with core scheduling it will be possible to have higher values, too. Signed-o

[Xen-devel] [PATCH v3 16/47] xen/sched: make credit scheduler vcpu agnostic.

2019-09-14 Thread Juergen Gross
Switch credit scheduler completely from vcpu to sched_unit usage. Signed-off-by: Juergen Gross --- xen/common/sched_credit.c | 503 +++--- 1 file changed, 250 insertions(+), 253 deletions(-) diff --git a/xen/common/sched_credit.c b/xen/common/sched_credit

[Xen-devel] [PATCH v3 37/47] xen/sched: move per-cpu variable scheduler to struct sched_resource

2019-09-14 Thread Juergen Gross
Having a pointer to struct scheduler in struct sched_resource instead of per cpu is enough. Signed-off-by: Juergen Gross --- V1: new patch --- xen/common/sched_credit.c | 18 +++--- xen/common/sched_credit2.c | 3 ++- xen/common/schedule.c | 15 +++ xen/include/xen

[Xen-devel] [PATCH v3 22/47] xen/sched: switch schedule() from vcpus to sched_units

2019-09-14 Thread Juergen Gross
Use sched_units instead of vcpus in schedule(). This includes the introduction of sched_unit_runstate_change() as a replacement of vcpu_runstate_change() in schedule(). Signed-off-by: Juergen Gross --- Note that sched_unit_runstate_change() will be subsumed by another rework in a later patch. ---

[Xen-devel] [PATCH v3 46/47] xen/sched: disable scheduling when entering ACPI deep sleep states

2019-09-14 Thread Juergen Gross
When entering deep sleep states all domains are paused resulting in all cpus only running idle vcpus. This enables us to stop scheduling completely in order to avoid synchronization problems with core scheduling when individual cpus are offlined. Disabling the scheduler is done by replacing the so

[Xen-devel] [PATCH v3 36/47] xen/sched: carve out freeing sched_unit memory into dedicated function

2019-09-14 Thread Juergen Gross
We'll need a way to free a sched_unit structure without side effects in a later patch. Signed-off-by: Juergen Gross --- RFC V2: new patch, carved out from RFC V1 patch 49 --- xen/common/schedule.c | 38 +- 1 file changed, 21 insertions(+), 17 deletions(-) dif

[Xen-devel] [PATCH v3 14/47] xen/sched: make null scheduler vcpu agnostic.

2019-09-14 Thread Juergen Gross
Switch null scheduler completely from vcpu to sched_unit usage. Signed-off-by: Juergen Gross --- xen/common/sched_null.c | 333 1 file changed, 165 insertions(+), 168 deletions(-) diff --git a/xen/common/sched_null.c b/xen/common/sched_null.c ind

[Xen-devel] [PATCH v3 23/47] xen/sched: switch sched_move_irqs() to take sched_unit as parameter

2019-09-14 Thread Juergen Gross
sched_move_irqs() should work on a sched_unit as that is the unit moved between cpus. Rename the current function to vcpu_move_irqs() as it is still needed in schedule(). Signed-off-by: Juergen Gross --- xen/common/schedule.c | 18 +- 1 file changed, 13 insertions(+), 5 deletion

[Xen-devel] [PATCH v3 39/47] xen/sched: reject switching smt on/off with core scheduling active

2019-09-14 Thread Juergen Gross
When core or socket scheduling are active enabling or disabling smt is not possible as that would require a major host reconfiguration. Add a bool sched_disable_smt_switching which will be set for core or socket scheduling. Signed-off-by: Juergen Gross Acked-by: Jan Beulich --- V1: - new patch

[Xen-devel] [PATCH v3 35/47] xen/sched: make vcpu_wake() and vcpu_sleep() core scheduling aware

2019-09-14 Thread Juergen Gross
vcpu_wake() and vcpu_sleep() need to be made core scheduling aware: they might need to switch a single vcpu of an already scheduled unit between running and not running. Especially when vcpu_sleep() for a vcpu is being called by a vcpu of the same scheduling unit special care must be taken in orde

[Xen-devel] [PATCH v3 28/47] xen/sched: add code to sync scheduling of all vcpus of a sched unit

2019-09-14 Thread Juergen Gross
When switching sched units synchronize all vcpus of the new unit to be scheduled at the same time. A variable sched_granularity is added which holds the number of vcpus per schedule unit. As tasklets require to schedule the idle unit it is required to set the tasklet_work_scheduled parameter of d

[Xen-devel] [PATCH v3 43/47] xen/sched: support multiple cpus per scheduling resource

2019-09-14 Thread Juergen Gross
Prepare supporting multiple cpus per scheduling resource by allocating the cpumask per resource dynamically. Modify sched_res_mask to have only one bit per scheduling resource set. Signed-off-by: Juergen Gross --- V1: new patch (carved out from other patch) --- xen/common/schedule.c | 16 +

[Xen-devel] [PATCH v3 29/47] xen/sched: introduce unit_runnable_state()

2019-09-14 Thread Juergen Gross
Today the vcpu runstate of a new scheduled vcpu is always set to "running" even if at that time vcpu_runnable() is already returning false due to a race (e.g. with pausing the vcpu). With core scheduling this can no longer work as not all vcpus of a schedule unit have to be "running" when being sc

[Xen-devel] [PATCH v3 25/47] xen/sched: add runstate counters to struct sched_unit

2019-09-14 Thread Juergen Gross
Add counters to struct sched_unit summing up runstates of associated vcpus. This allows doing quick checks whether a unit has any vcpu running or whether only a single vcpu of a unit is running. Signed-off-by: Juergen Gross --- RFC V2: add counters for each possible runstate --- xen/common/sched

[Xen-devel] [PATCH v3 13/47] xen/sched: add is_running indicator to struct sched_unit

2019-09-14 Thread Juergen Gross
Add an is_running indicator to struct sched_unit which will be set whenever the unit is being scheduled. Switch scheduler code to use unit->is_running instead of vcpu->is_running for scheduling decisions. At the same time introduce a state_entry_time field in struct sched_unit being updated whenev

[Xen-devel] [PATCH v3 18/47] xen/sched: make arinc653 scheduler vcpu agnostic.

2019-09-14 Thread Juergen Gross
Switch arinc653 scheduler completely from vcpu to sched_unit usage. Signed-off-by: Juergen Gross --- xen/common/sched_arinc653.c | 208 +--- 1 file changed, 101 insertions(+), 107 deletions(-) diff --git a/xen/common/sched_arinc653.c b/xen/common/sched_ar

[Xen-devel] [PATCH v3 15/47] xen/sched: make rt scheduler vcpu agnostic.

2019-09-14 Thread Juergen Gross
Switch rt scheduler completely from vcpu to sched_unit usage. Signed-off-by: Juergen Gross --- xen/common/sched_rt.c | 356 -- 1 file changed, 174 insertions(+), 182 deletions(-) diff --git a/xen/common/sched_rt.c b/xen/common/sched_rt.c index a47

[Xen-devel] [PATCH v3 31/47] xen/sched: modify cpupool_domain_cpumask() to be an unit mask

2019-09-14 Thread Juergen Gross
cpupool_domain_cpumask() is used by scheduling to select cpus or to iterate over cpus. In order to support scheduling units spanning multiple cpus let cpupool_domain_cpumask() return a cpumask with only one bit set per scheduling resource. Signed-off-by: Juergen Gross --- xen/common/cpupool.c

[Xen-devel] [PATCH v3 06/47] xen/sched: switch schedule_data.curr to point at sched_unit

2019-09-14 Thread Juergen Gross
In preparation of core scheduling let the percpu pointer schedule_data.curr point to a strct sched_unit instead of the related vcpu. At the same time rename the per-vcpu scheduler specific structs to per-unit ones. Signed-off-by: Juergen Gross Reviewed-by: Dario Faggioli --- V3: - remove no long

[Xen-devel] [PATCH v3 30/47] xen/sched: add support for multiple vcpus per sched unit where missing

2019-09-14 Thread Juergen Gross
In several places there is support for multiple vcpus per sched unit missing. Add that missing support (with the exception of initial allocation) and missing helpers for that. Signed-off-by: Juergen Gross --- RFC V2: - fix vcpu_runstate_helper() V1: - add special handling for idle unit in unit_ru

[Xen-devel] [PATCH v3 38/47] xen/sched: move per-cpu variable cpupool to struct sched_resource

2019-09-14 Thread Juergen Gross
Having a pointer to struct cpupool in struct sched_resource instead of per cpu is enough. Signed-off-by: Juergen Gross --- V1: new patch --- xen/common/cpupool.c | 4 +--- xen/common/sched_credit.c | 2 +- xen/common/sched_rt.c | 2 +- xen/common/schedule.c | 8 xen/inc

[Xen-devel] [PATCH v3 02/47] xen/sched: move per-vcpu scheduler private data pointer to sched_unit

2019-09-14 Thread Juergen Gross
This prepares making the different schedulers vcpu agnostic. Note that some scheduler specific accessor function are misnamed after this patch. This will be corrected in later patches. Signed-off-by: Juergen Gross Reviewed-by: Dario Faggioli --- xen/common/sched_arinc653.c | 4 ++-- xen/commo

[Xen-devel] [PATCH v3 21/47] xen/sched: use sched_resource cpu instead smp_processor_id in schedulers

2019-09-14 Thread Juergen Gross
Especially in the do_schedule() functions of the different schedulers using smp_processor_id() for the local cpu number is correct only if the sched_unit is a single vcpu. As soon as larger sched_units are used most uses should be replaced by the master_cpu number of the local sched_resource instea

[Xen-devel] [PATCH v3 12/47] xen/sched: switch struct task_slice from vcpu to sched_unit

2019-09-14 Thread Juergen Gross
Let the schedulers put a sched_unit pointer into struct task_slice instead of a vcpu pointer. Signed-off-by: Juergen Gross --- xen/common/sched_arinc653.c | 8 xen/common/sched_credit.c | 4 ++-- xen/common/sched_credit2.c | 4 ++-- xen/common/sched_null.c | 12 ++-- x

[Xen-devel] [PATCH v3 07/47] xen/sched: move per cpu scheduler private data into struct sched_resource

2019-09-14 Thread Juergen Gross
This prepares support of larger scheduling granularities, e.g. core scheduling. While at it move sched_has_urgent_vcpu() from include/asm-x86/cpuidle.h into sched.h removing the need for including sched-if.h in cpuidle.h. For that purpose remobe urgent_count from the scheduler private data and mak

[Xen-devel] [PATCH v3 03/47] xen/sched: build a linked list of struct sched_unit

2019-09-14 Thread Juergen Gross
In order to make it easy to iterate over sched_unit elements of a domain, build a single linked list and add an iterator for it. The new list is guarded by the same mechanisms as the vcpu linked list as it is modified only via vcpu_create() or vcpu_destroy(). For completeness add another iterator

[Xen-devel] [PATCH v3 27/47] xen/sched: move struct task_slice into struct sched_unit

2019-09-14 Thread Juergen Gross
In order to prepare for multiple vcpus per schedule unit move struct task_slice in schedule() from the local stack into struct sched_unit of the currently running unit. To make access easier for the single schedulers add the pointer of the currently running unit as a parameter of do_schedule(). Wh

[Xen-devel] [PATCH v3 05/47] xen/sched: let pick_cpu return a scheduler resource

2019-09-14 Thread Juergen Gross
Instead of returning a physical cpu number let pick_cpu() return a scheduler resource instead. Rename pick_cpu() to pick_resource() to reflect that change. Signed-off-by: Juergen Gross Reviewed-by: Dario Faggioli --- V3: - style fix (Jan Beulich) --- xen/common/sched_arinc653.c | 13 +++---

[Xen-devel] [PATCH v3 08/47] xen/sched: switch vcpu_schedule_lock to unit_schedule_lock

2019-09-14 Thread Juergen Gross
Rename vcpu_schedule_[un]lock[_irq]() to unit_schedule_[un]lock[_irq]() and let it take a sched_unit pointer instead of a vcpu pointer as parameter. Signed-off-by: Juergen Gross --- xen/common/sched_credit.c | 17 + xen/common/sched_credit2.c | 40 ---

[Xen-devel] [PATCH v3 26/47] xen/sched: Change vcpu_migrate_*() to operate on schedule unit

2019-09-14 Thread Juergen Gross
Now that vcpu_migrate_start() and vcpu_migrate_finish() are used only to ensure a vcpu is running on a suitable processor they can be switched to operate on schedule units instead of vcpus. While doing that rename them accordingly and make the _start() variant static. As it is needed anyway call v

[Xen-devel] [PATCH v3 19/47] xen: add sched_unit_pause_nosync() and sched_unit_unpause()

2019-09-14 Thread Juergen Gross
The credit scheduler calls vcpu_pause_nosync() and vcpu_unpause() today. Add sched_unit_pause_nosync() and sched_unit_unpause() to perform the same operations on scheduler units instead. Signed-off-by: Juergen Gross --- xen/common/sched_credit.c | 6 +++--- xen/include/xen/sched-if.h | 10

[Xen-devel] [PATCH v3 09/47] xen/sched: move some per-vcpu items to struct sched_unit

2019-09-14 Thread Juergen Gross
Affinities are scheduler specific attributes, they should be per scheduling unit. So move all affinity related fields in struct vcpu to struct sched_unit. While at it switch affinity related functions in sched-if.h to use a pointer to sched_unit instead to vcpu as parameter. The affinity_broken fl

[Xen-devel] [PATCH v3 00/47] xen: add core scheduling support

2019-09-14 Thread Juergen Gross
Add support for core- and socket-scheduling in the Xen hypervisor. Via boot parameter sched-gran=core (or sched-gran=socket) it is possible to change the scheduling granularity from cpu (the default) to either whole cores or even sockets. All logical cpus (threads) of the core or socket are alway

[Xen-devel] [PATCH v3 01/47] xen/sched: use new sched_unit instead of vcpu in scheduler interfaces

2019-09-14 Thread Juergen Gross
In order to prepare core- and socket-scheduling use a new struct sched_unit instead of struct vcpu for interfaces of the different schedulers. Rename the per-scheduler functions insert_vcpu and remove_vcpu to insert_unit and remove_unit to reflect the change of the parameter. In the schedulers ren

[Xen-devel] [PATCH v3 24/47] xen: switch from for_each_vcpu() to for_each_sched_unit()

2019-09-14 Thread Juergen Gross
Where appropriate switch from for_each_vcpu() to for_each_sched_unit() in order to prepare core scheduling. As it is beneficial once here and for sure in future add a unit_scheduler() helper and let vcpu_scheduler() use it. Signed-off-by: Juergen Gross --- V2: - handle affinity_broken correctly

[Xen-devel] [PATCH v3 04/47] xen/sched: introduce struct sched_resource

2019-09-14 Thread Juergen Gross
Add a scheduling abstraction layer between physical processors and the schedulers by introducing a struct sched_resource. Each scheduler unit running is active on such a scheduler resource. For the time being there is one struct sched_resource per cpu, but in future there might be one for each core

[Xen-devel] [PATCH v3 20/47] xen: let vcpu_create() select processor

2019-09-14 Thread Juergen Gross
Today there are two distinct scenarios for vcpu_create(): either for creation of idle-domain vcpus (vcpuid == processor) or for creation of "normal" domain vcpus (including dom0), where the caller selects the initial processor on a round-robin scheme of the allowed processors (allowed being based o

[Xen-devel] [PATCH v3 10/47] xen/sched: add scheduler helpers hiding vcpu

2019-09-14 Thread Juergen Gross
Add the following helpers using a sched_unit as input instead of a vcpu: - is_idle_unit() similar to is_idle_vcpu() - is_unit_online() similar to is_vcpu_online() (returns true when any of its vcpus is online) - unit_runnable() like vcpu_runnable() (returns true if any of its vcpus is runnable

[Xen-devel] [freebsd-master test] 141272: regressions - trouble: blocked/fail

2019-09-14 Thread osstest service owner
flight 141272 freebsd-master real [real] http://logs.test-lab.xenproject.org/osstest/logs/141272/ Regressions :-( Tests which did not succeed and are blocking, including tests which could not be run: build-amd64-freebsd 7 freebsd-buildfail REGR. vs. 141004 Tests which did

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

2019-09-14 Thread osstest service owner
flight 141270 ovmf real [real] http://logs.test-lab.xenproject.org/osstest/logs/141270/ Perfect :-) All tests in this flight passed as required version targeted for testing: ovmf 86ad762fa7a51cbf94e34e732961aae3de3339c3 baseline version: ovmf 5a9db858806912ebd4e83