From: Jan Beulich <jbeulich@suse.com>
To: Sookyung Ahn <sookyung.ahn@boeing.com>
Cc: matthew.l.weber3@boeing.com, joshua.c.whitehead@boeing.com,
Anderson.Choi@boeing.com, brian.j.wood2@boeing.com,
haesun.kim@boeing.com, xen-devel@lists.xenproject.org
Subject: Re: [RFC PATCH 2/2] add document minimal_xen_tools.pandoc
Date: Wed, 14 May 2025 09:28:37 +0200 [thread overview]
Message-ID: <c4c19f45-1976-466a-909f-e7bd4fb2e771@suse.com> (raw)
In-Reply-To: <0267d6a430a11b9387d56514f963b6a5c6033450.1747205627.git.sookyung.ahn@boeing.com>
On 14.05.2025 09:12, Sookyung Ahn wrote:
> --- /dev/null
> +++ b/docs/designs/minimal_xen_tools.pandoc
> @@ -0,0 +1,147 @@
> +- [Minimal Xen-tools](#minimal-xen-tools)
> + - [`xen-tools` : full vs minimal](#xen-tools--full-vs-minimal)
> + - [Components of minimal `xen-tools`](#components-of-minimal-xen-tools)
> + - [How to enable minimal `xen-tools`](#how-to-enable-minimal-xen-tools)
> + - [How to include a component which is excluded](#how-to-include-a-component-which-is-excluded)
> + - [Library](#library)
> + - [Tool](#tool)
> +
> +# Minimal Xen-tools
> +
> +Purpose : To enhance `xen-tools` for users who require only a minimal subset of its functionality, particularly in safety-critical domains such as aerospace.
> +
> +## `xen-tools` : full vs minimal
> +
> +- total size of **full** `xen-tools` and **minimal** `xen-tools`
> +
> +| | full | minimal |
> +|------| ------------ | ------------ |
> +|ipks | 8.1M (8216K) | **1.3M** (1276K) |
> +|image | 26M (25944K) | **4.6M** (4664)K |
> +
> +## Components of minimal `xen-tools`
> +
> +| `xen-tools-` | included | Rationale | remark |
> +|---------------------| -------- | ------------------------------------------------------------ | ------- |
> +| libxencall | yes | library to provide hypercall interface | |
> +| libxenctrl | yes | library to provide interface for the ARINC 653 scheduler | partially included |
> +| libxendevicemodel | no | library to support device model. Not needed | |
> +| libxenevtchn | no | library to support event channel. Not needed with static event channel | |
> +| libxenforeignmemory | yes | library to support memory management for hypercall buffer | |
> +| libxengnttab | no | library to support grant table. We are plainning to use static shared memory instaed of grant table to avoid dynamic memory allocation. | |
> +| libxenguest | no | library to support control and manage the domUs. Not required with dom0less | |
> +| libxenhypfs | no | library to provide interface for hypervisor fs. We don't access hypervisor fs. | |
> +| libxenlight | no | library to support `xl`. We don't use `xl` at all | |
> +| libxenstat | no | library to monitor statistic data of domUs with `xentop`. We don't use it | |
> +| libxenstore | no | library to access `XenStore`. We don't use `XenStore`. | |
> +| libxenutil | no | library to provide common utilities. | |
> +| libxenvchan | no | library to provide interface for vchan(vitual channel). We don't use vchan | |
> +| libxentoolcore | yes | managing libraries' handlers | |
> +| libxentoollog | yes | library to provide logging interface | can be removed |
> +| 9pfsd | no | network file system protocol. | had dependency on `XenStore` |
> +| consold | no | `ctrl-a` ×3 replaces it | |
> +| dev | yes | header files | |
> +| flask | yes | Xen security policy framework (XSM/FLASK) | disabled |
> +| flask-tools | yes | tools to manage FLASK policy | disabled |
> +| fuzz | no | FUZZ test tool | |
> +| fsimage | yes | file system image generator for domUs; depends on `pygrub` | |
> +| hvmloader | no | legacy BIOS loader for HVM guests | |
> +| libacpi | no | Advanced Configuration and Power Interface | disabled |
> +| pygrub | yes | bootloader parser for domU kernels | enabled |
> +| reums | yes | tool for failover of domUs via periodic backup; requires `libnl3` | need to check dependency with `libxenlight` (xl) |
> +| scripts-block | yes | scripts for block device | |
> +| scripts-common | yes | scripts for common utilities | |
> +| scripts-network | yes | scripts for domU network setup | |
> +| shim | yes | EFI loader to launch Xen as a bootloader | disabled |
> +| xenpaging | no | domain paging tools not used | |
> +| xenpmd | no | xen power management daemon | had dependency on `XenStore` |
> +| xenstored | no | Xen Store Daemon providing simple tree-like database | had dependency on `XenStore`, and event channel |
> +| xenwatchdogd | no | watchdog daemon. Not needed | |
> +| volatiles | yes | runtime files (e.g. sockets, pid) for Xen tools | |
> +| xencommons | yes | startup script for Xen toolstack | |
> +| xendomains | yes | init scirpt to autostart and shutdown domUs at boot/shutdown | |
> +| xentrace | no | trace Xen internal events. kind of debugging and monitoring tool. Not needed | |
> +| xenmon | no | live trace monitor | requires `xentrace` |
While I trust you that this properly summarizes what patch 1 does, I wonder
whether this simple "full" vs "minimal" can really cover everyone's needs.
Furthermore, is it really a requirement to limit what's being _built_? I.e.
isn't what you care about what ends up on the target system(s)? In e.g. the
RPM world that would be controlled by the .spec file, not by changes to the
build infrastructure.
Jan
next prev parent reply other threads:[~2025-05-14 7:28 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-14 7:12 [RFC PATCH 0/2] Propose an minimal xen-tools Sookyung Ahn
2025-05-14 7:12 ` [RFC PATCH 1/2] changes for minimal-xen-tools Sookyung Ahn
2025-05-14 7:12 ` [RFC PATCH 2/2] add document minimal_xen_tools.pandoc Sookyung Ahn
2025-05-14 7:28 ` Jan Beulich [this message]
2025-05-14 7:24 ` [RFC PATCH 0/2] Propose an minimal xen-tools Jan Beulich
2025-05-21 14:26 ` Anthony PERARD
2025-07-08 18:45 ` [EXTERNAL] " Weber (US), Matthew L
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=c4c19f45-1976-466a-909f-e7bd4fb2e771@suse.com \
--to=jbeulich@suse.com \
--cc=Anderson.Choi@boeing.com \
--cc=brian.j.wood2@boeing.com \
--cc=haesun.kim@boeing.com \
--cc=joshua.c.whitehead@boeing.com \
--cc=matthew.l.weber3@boeing.com \
--cc=sookyung.ahn@boeing.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.