[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 0/5] Multicore support for ARINC653 scheduler
This patch set adds multicore capability to the ARINC653 scheduler, based on the guidance presented in the CAST-32A position paper. This approach only allows for a single domain to run at any given time, but that domain is now able to use multiple vCPUs running across the available pCPUs. There are 5 patches in this series. The first 4 patches are intended to tidy up the arinc653 scheduler code, so that it more closely resembles the coding style and structure found in the other schedulers (mainly credit). The last patch implements multicore support. I have tested this feature on both the Xilinx MPSoC/ ZCU102 development board and with ARMv8 QEMU. I have a bash script that tests various edge cases such as schedule changes, creation and destruction of domains in the cpupool, domain migration across cpupools, vCPU pinning, and vCPU overprovisioning (more vCPUs than pCPUs). In each of these cases, the scheduler either works as expected or behaves in a sane manner. For the latter, any quirks that were identified are documented in the source code. This patch set has been sitting on the backburner for the better part of a year, so I have rebased it to latest commit on master. The tests above were re-run and no problems were identified. I'm looking for feedback on the patch set to so that it may be accepted into the Xen code base. Jeff Kubascik (5): sched/arinc653: Clean up comments sched/arinc653: Rename scheduler private structs sched/arinc653: Clean up function definitions sched/arinc653: Reorganize function definition order sched/arinc653: Implement CAST-32A multicore scheduling xen/common/sched/arinc653.c | 1190 ++++++++++++++++++++--------------- 1 file changed, 686 insertions(+), 504 deletions(-) -- 2.17.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |