[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [PATCH 5/5] sched/arinc653: Implement CAST-32A multicore scheduling


  • To: Dario Faggioli <dfaggioli@xxxxxxxx>, Jürgen Groß <jgross@xxxxxxxx>, Jeff Kubascik <Jeff.Kubascik@xxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Stewart Hildebrand <Stewart.Hildebrand@xxxxxxxxxxxxxxx>
  • Date: Thu, 17 Sep 2020 15:59:32 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=dornerworks.com; dmarc=pass action=none header.from=dornerworks.com; dkim=pass header.d=dornerworks.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector5401; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PrpKS71eMcjBfOG9zsiKG/++G/fogWyjda55xTwxHx4=; b=SiriArxHyrViBTFfVM2Ch4TsXRyXg12ssgvmZfC0rHH++q34VEW5wBB1yoo7fspGqwtUf3scl937jFfK7KLIqI6lYQaS+cR87nj6o03/TvWDJqam357ZWrb7j0Ogl3spnNe/CLIS+BX3Zy89sBbbAo5rgMs6mx7UvuuZzeXRVObQMKAVbkEeJFh9ZHMCk1h8L4Ah7tp9y4jl93MmqwJnxCcG1/JpLpuf4p4Vlm3Xdxrqt87BIKDZT1uGyvIPtWhmym2o3H9nMHnsB8NH7ThikhtVKJheZYiuTskVfkNXrn2i7NwHUhmQEixb/BTWCmaaDh/GCfGYBNM6R4JdN7XNng==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=q8rMTemUNQbf9RBI+U2ca69J75A7OFvtKFWRhlt/5JkpJe0SAMa1OFP/ROcGIChcW47i/UQgwHfX4EVVJ9BR7tAhXlZq55OErFWuVE7fyrFjRlWpAgRxhrJPsBhMebIGXDzAshCC9INfSFJyrVNlWxJtJSh77uiud06t28EJbFrcAnrf9QIVWH5GZfEcJl5iy+DnlQQywSCSUe+s3VpH3R7kzfGfFgqkyQu/NyceVOsbKmOtpM7QrQWWdCk7OuwnKh6h1kJLJchD6QI+afH5hQ5veyyHw2WdHrjFE1KjjfWqPm7V7h/k98EOl4h8EkR1rLtoNM80+FW5CULHgvOVzQ==
  • Authentication-results: suse.com; dkim=none (message not signed) header.d=none;suse.com; dmarc=none action=none header.from=dornerworks.com;
  • Cc: xen-devel <xen-devel@xxxxxxxxxxxxxxx>, Josh Whitehead <Josh.Whitehead@xxxxxxxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>
  • Delivery-date: Thu, 17 Sep 2020 15:59:54 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHWjFXo8LfVF1vuZEGd+q7v79upsqlsik8AgABi9pCAAAYkAIAACwXA
  • Thread-topic: [PATCH 5/5] sched/arinc653: Implement CAST-32A multicore scheduling

On Thursday, September 17, 2020 11:20 AM, Dario Faggioli wrote:
>On Thu, 2020-09-17 at 15:10 +0000, Stewart Hildebrand wrote:
>> On Thursday, September 17, 2020 5:04 AM, Jürgen Groß wrote:
>> > On 16.09.20 20:18, Jeff Kubascik wrote:
>> > > This change is an overhaul of the ARINC653 scheduler to enable
>> > > CAST-32A
>> > > multicore scheduling. CAST-32A specifies that only one partition
>> > > (domain) can run during a minor frame, but that domain is now
>> > > allowed to
>> > > have more than one vCPU.
>> >
>> > It might be worth to consider using just the core scheduling
>> > framework
>> > in order to achive this. Using a sched_granularity with the number
>> > of
>> > cpus in the cpupool running ARINC653 scheduler should already do
>> > the
>> > trick. There should be no further midification of ARINC653
>> > scheduler
>> > required.
>> >
>>
>> This CAST-32A multicore patch series allows you to have a different
>> number of vCPUs (UNITs, I guess) assigned to domUs.
>>
>Yep, you can have domains with different numbers of vCPUs, when using
>core-scheduling (or socket-scheduling, or ...), if this is what you're
>asking.
>
>> For example, dom1 has a single vCPU, and dom2 has 4 vCPUs. I didn't
>> think the core scheduling framework had this flexibility?
>>
>It does.
>
>And if you have domain A with 1 vCPU and domain B with 2 vCPUs, with
>sched-gran=core:
>- when the vCPU of domain A is scheduled on a pCPU of a core, no vCPU
>  from domain B can be scheduled on the same core;
>- when one of the vCPUs of domain B is scheduled on a pCPU of a core,
>  no other vCPUs, except the other vCPU of domain B can run on the
>  same core.
>
>With sched-gran=socket, the same, with s/core/socket. :-)
>
>So indeed it seems that sched-gran=NR_CPUS (actually, number of CPUs in
>the pool, as Juergen is saying) may indeed do what you want.

Fascinating. Very cool, thanks for the insight. My understanding is that core 
scheduling is not currently enabled on arm. This series allows us to have 
multicore ARINC 653 on arm today without chasing down potential issues with 
core scheduling on arm...

Stew

>
>Regards
>--
>Dario Faggioli, Ph.D
>http://about.me/dario.faggioli
>Virtualization Software Engineer
>SUSE Labs, SUSE https://www.suse.com/
>-------------------------------------------------------------------
><<This happens because _I_ choose it to happen!>> (Raistlin Majere)

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.