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

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


  • To: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, Jeff Kubascik <Jeff.Kubascik@xxxxxxxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Stewart Hildebrand <Stewart.Hildebrand@xxxxxxxxxxxxxxx>
  • Date: Thu, 17 Sep 2020 17:57:13 +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=6oNzpyhfTiwBZe7n1uKbu01SWMXnE3U4+E7WpS9DmaI=; b=HCJkiDAyt/mJSxJqwOi84o54qBcVXNdPFURUjBydSzv3D7qsEpHWQ8BIUZPG+fqrzDImEUfHg4Eu4K7odZUS7IawTBYjaiUyva2XLMozkX0B2qGGgOkUJMS9SxVslwXQXqKVALGmqaUFWqvbFD3TCmY1ybBycA3gY2P+cEkOGkG6gmy7t7VamdagOPKFftiQ9YRzIMeKSBR+aS3kK4vbNlYRXqyKcECZQBhFLba/NRvToEOIVZ3vak/k78kJJSxF7NDRrh8y7jfwprF12lfmBM67pA0KPDNOJIer+uk4tHQAVFovkvauSVCv3Fk0c98D0xXv9hdR2NJI1hH8HZDj+Q==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector5401; d=microsoft.com; cv=none; b=rHRA/STP0ttpNEPXIOIBxoOPvSgiZFS2NsR4zDhVj4OQx7jjlSgeAaduabolsjgWVIJdL+tNAJl4UhTcTMXJ9M92I0tHPItItqS29WlXKLilo6X2K5v77d50DHUkYnM8RYRQdkpLiyuArLxm1cVp8CelysMuKvi6M+WbbOEOxhza2EpSnZM7hGGsTn4C1SP9SMSuW0VO6QtglAOJFGIJdLZolBKBtxSJ2+/2lUuCPCLV9l/kvjEwid6s7p/AjCjgCIEmoVHQLbr27Rudlm2+7Y5vlS45+a4RiutGYciuE5icDTP0FSaONZoPD5883qGLJMLF693jrSvTLXEEpZta+g==
  • Authentication-results: citrix.com; dkim=none (message not signed) header.d=none; citrix.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>, Dario Faggioli <dfaggioli@xxxxxxxx>
  • Delivery-date: Thu, 17 Sep 2020 17:57:26 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHWjFXo8LfVF1vuZEGd+q7v79upsqls6PEAgAAAqMCAABomAIAAA8CA
  • Thread-topic: [PATCH 5/5] sched/arinc653: Implement CAST-32A multicore scheduling

On Thursday, September 17, 2020 12:19 PM, Andrew Cooper wrote:
>On 17/09/2020 15:57, Stewart Hildebrand wrote:
>> On Thursday, September 17, 2020 10:43 AM, Andrew Cooper wrote:
>>> On 16/09/2020 19:18, Jeff Kubascik wrote:
>>>> +/*
>>>> + * A handle with all zeros represents domain 0 if present, otherwise idle 
>>>> UNIT
>>>> + */
>>>> +#define DOM0_HANDLE ((const xen_domain_handle_t){0})
>>> This isn't accurate.
>>>
>>> There are systems where dom0 doesn't have a zero UUID (XenServer for
>>> one), and its easy to create domU's which have a zero UUID.  They are
>>> not unique, and can be changed at any time during the running of the VM.
>>>
>>> If you need a unique identifier, then use domid's.
>>>
>>> I can't see any legitimate need for the scheduler to handle the UUID at all.
>> We tried switching it to domid at one point in the past, but the problem was 
>> that when a domU reboots (destroy/create) the domid
>increments, so the schedule would have to be reinstantiated.
>
>How are settings specified?  If they're manually while the domain is
>running, then I'd argue that is a user bug.

It could be either prior to domain creation or after. The user needs to know 
the UUID (or domid, if we were to switch to domid) of the domain(s) to be 
scheduled.

We typically use this utility [2] which relies on tools/libxc/xc_arinc653.c

[2] https://github.com/dornerworks/a653_sched

>
>If the settings are specified in the VM's configuration file, and they
>aren't reapplied on reboot, then that is a toolstack bug.
>
>> At least that was the case before a recent patch series allowing to specify 
>> domid [1], but Jeff developed this CAST-32A series prior to
>that. The UUID can be specified in the .cfg file, allowing domUs to reboot and 
>come back up with the same UUID.
>
>The UUID can and does change at runtime in some cases, when you get into
>more complicated lifecycle scenarios such as localhost live migration,
>and/or VM Fork/CoW.
>
>
>Having scheduler settings remembered by UUID, in the lower layers of the
>hypervisor, feels like a layering violation.  It might work for your
>specific usecase, but it feels like it is papering over the underlying
>bug, and it is incompatible with other usage scenarios within Xen.

These are all good points. I'd welcome a switch to domid, but I feel it should 
be a separate patch or series.

Stew

 


Rackspace

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