All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff Kubascik <jeff.kubascik@dornerworks.com>
To: xen-devel@lists.xenproject.org
Cc: xen-devel@dornerworks.com,
	Josh Whitehead <josh.whitehead@dornerworks.com>,
	Stewart Hildebrand <stewart.hildebrand@dornerworks.com>,
	George Dunlap <george.dunlap@citrix.com>,
	Dario Faggioli <dfaggioli@suse.com>,
	Jeff Kubascik <jeff.kubascik@dornerworks.com>
Subject: [PATCH 0/5] Multicore support for ARINC653 scheduler
Date: Wed, 16 Sep 2020 14:18:49 -0400	[thread overview]
Message-ID: <20200916181854.75563-1-jeff.kubascik@dornerworks.com> (raw)

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



             reply	other threads:[~2020-09-17  4:20 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-16 18:18 Jeff Kubascik [this message]
2020-09-16 18:18 ` [PATCH 1/5] sched/arinc653: Clean up comments Jeff Kubascik
2020-09-17 13:24   ` Andrew Cooper
2020-09-18 15:33     ` Jeff Kubascik
2020-09-16 18:18 ` [PATCH 2/5] sched/arinc653: Rename scheduler private structs Jeff Kubascik
2020-09-17 12:09   ` Andrew Cooper
2020-09-17 14:46     ` Dario Faggioli
2020-09-18 15:52       ` Jeff Kubascik
2020-09-16 18:18 ` [PATCH 3/5] sched/arinc653: Clean up function definitions Jeff Kubascik
2020-09-17  8:09   ` Jan Beulich
2020-09-17 14:40     ` Dario Faggioli
2020-09-18 17:43       ` Jeff Kubascik
2020-09-16 18:18 ` [PATCH 4/5] sched/arinc653: Reorganize function definition order Jeff Kubascik
2020-09-17  8:12   ` Jan Beulich
2020-09-17 14:16     ` Dario Faggioli
2020-09-18 18:21       ` Jeff Kubascik
2020-09-17 14:17     ` Andrew Cooper
2020-09-18 18:04       ` Jeff Kubascik
2020-09-18 18:05       ` Jeff Kubascik
2020-09-16 18:18 ` [PATCH 5/5] sched/arinc653: Implement CAST-32A multicore scheduling Jeff Kubascik
2020-09-17  9:04   ` Jürgen Groß
2020-09-17 15:10     ` Stewart Hildebrand
2020-09-17 15:18       ` Jürgen Groß
2020-09-17 15:20       ` Dario Faggioli
2020-09-17 15:59         ` Stewart Hildebrand
2020-09-17 17:30           ` Dario Faggioli
2020-09-18 20:03             ` Jeff Kubascik
2020-09-18 20:34               ` Dario Faggioli
2020-09-22 19:50               ` Andrew Cooper
2020-09-17 14:42   ` Andrew Cooper
2020-09-17 14:57     ` Stewart Hildebrand
2020-09-17 16:18       ` Andrew Cooper
2020-09-17 17:57         ` Stewart Hildebrand
2020-09-18 19:22           ` Jeff Kubascik

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200916181854.75563-1-jeff.kubascik@dornerworks.com \
    --to=jeff.kubascik@dornerworks.com \
    --cc=dfaggioli@suse.com \
    --cc=george.dunlap@citrix.com \
    --cc=josh.whitehead@dornerworks.com \
    --cc=stewart.hildebrand@dornerworks.com \
    --cc=xen-devel@dornerworks.com \
    --cc=xen-devel@lists.xenproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.