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

Re: [PATCH v2 1/2] docs: update hyperlaunch device tree


  • To: Michal Orzel <michal.orzel@xxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: "Daniel P. Smith" <dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Date: Tue, 8 Aug 2023 17:17:32 -0400
  • Arc-authentication-results: i=1; mx.zohomail.com; dkim=pass header.i=apertussolutions.com; spf=pass smtp.mailfrom=dpsmith@xxxxxxxxxxxxxxxxxxxx; dmarc=pass header.from=<dpsmith@xxxxxxxxxxxxxxxxxxxx>
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1691529456; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:MIME-Version:Message-ID:References:Subject:To; bh=Q9bUDKxlqAq/RRI2lcmaz2jxZMJZQ5lF2Xvw2zb5hyo=; b=kDZKMidf3RhwDHzAjSCB8whlFnDlGDfw3OH8ip9Vg0jpCmuR5ByrJhI3ZfUW33hYgs8JNEPPKnRTtGNxIn44+pMR+rl+8VAZspo+waXXt4tsDfE2oV3vqh5jUGYm8JOetgbqNgVTqBvy9mGD9u2dkXzgo+fSbkic/GtZFoWes+U=
  • Arc-seal: i=1; a=rsa-sha256; t=1691529456; cv=none; d=zohomail.com; s=zohoarc; b=bWZ96RYWs2zTCSBhUa4XqhfrH/dRwZrDtjZ/fDju1umciQyDfqON8YF6qXGZS4OJ30Jq/dAgSb8zYucfaFlchyiCc7MhH0JySznz6q08rRplwMAWOiLvLY13tXPMi8+UAwmGz0d2wNin/qxzjE4oeJQj9D7AgZzXvuPK6z67ob4=
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, George Dunlap <george.dunlap@xxxxxxxxxx>, Jan Beulich <jbeulich@xxxxxxxx>, Julien Grall <julien@xxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Wei Liu <wl@xxxxxxx>
  • Delivery-date: Tue, 08 Aug 2023 21:17:45 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 8/4/23 03:06, Michal Orzel wrote:
Hi Daniel,

On 03/08/2023 18:57, Daniel P. Smith wrote:


On 8/3/23 07:45, Michal Orzel wrote:
Hi Daniel,

On 03/08/2023 12:44, Daniel P. Smith wrote:


With on going development of hyperlaunch, changes to the device tree definitions
has been necessary. This commit updates the specification for all current 
changes
along with changes expected to be made in finalizing the capability.

This commit also adds a HYPERLAUNCH section to the MAINTAINERS file and places
this documentation under its purview. It also reserves the path
`xen/common/domain-builder` for the hyperlaunch domain builder code base.

Signed-off-by: Daniel P. Smith <dpsmith@xxxxxxxxxxxxxxxxxxxx>

[...]
+
   memory
-  The amount of memory to assign to the domain, in KBs.
+  The amount of memory to assign to the domain, in KBs. This field uses a DTB
+  Reg which contains a start and size. For memory allocation start may or may
+  not have significance but size will always be used for the amount of memory
     Required.

+  Format: String  min:<sz> | max:<sz> | <sz>, e.g. "256M"
There is a mismatch between the description and above format:
- KB vs MB
- string vs reg format
- the x86 example uses string and Arm uses reg format

Hmmm. I missed this in the hyperlaunch v1 update. In the original design
that came from the working group it was going to use a reg as suggest by
dom0less. During development of v1, we found it was not rich enough to
express how Dom0 could be allocated memory and switched to a string to
mirror the dom0 memory hypervisor command line parameter.
On Arm, dom0_mem cmdline parameter is used to specify only size (no min,max)

I understand. For general domain construction, these are legitimate values and hyperlaunch is meant to be able to fully construct a running environment just as if it was constructed by a toolstack. We must also be able to handle situations where a general configuration is being reused across systems and must be able to express the minimum memory each domain must have, how much should be attempted to be allocated, and if ballooning is enabled, being able to articulate that to the hyperlaunch domain builder.

I did not say this in reply to Julien, but I am not opposed to three separate parameters if that is what the conscience arrives at. I found the existing parser and the structure it creates as a useful and reusable component for obtaining and storing the values.


A question for those involved with dom0less, is what are the opinions
about using this form for memory allocation. Is it required/possible to
be able to instruct the hypervisor what physical address to use as the
start of a domain's memory?
"memory" dt property is used to specify just amount of memory for domain in KBs 
using reg format.
It is not used to specify the static memory region (with start and size). For that, we 
have another property called "xen,static-mem".
Therefore, it would be possible to switch memory to string but it would not be 
compatible with the current use anymore.

It would be compatible in the sense that dom0less-compatibility-mode could still accept it as just amount of memory. Which brings up a good point, whether I do it here or it is done in the patch series that will introduce dom0less-compatibilty-mode, there probably will need to be a top level flag under the hypervisor node to indicate it is a dom0less compatible configuration.

v/r,
dps




 


Rackspace

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