All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>
To: Juergen Gross <jgross@suse.com>
Cc: "xen-devel@lists.xenproject.org" <xen-devel@lists.xenproject.org>,
	"Julien Grall" <julien@xen.org>,
	"Jan Beulich" <jbeulich@suse.com>,
	"Andrew Cooper" <andrew.cooper3@citrix.com>,
	"George Dunlap" <George.Dunlap@citrix.com>,
	"Ian Jackson" <iwj@xenproject.org>,
	"Anthony PERARD" <anthony.perard@citrix.com>,
	"Roger Pau Monné" <roger.pau@citrix.com>
Subject: Re: Live update of Xenstore-stubdom
Date: Thu, 6 Jan 2022 17:59:03 +0100	[thread overview]
Message-ID: <Ydcf17CezyPpQS8E@mail-itl> (raw)
In-Reply-To: <a6ba7e89-f70b-3c51-5a65-06c62f5cd512@suse.com>

[-- Attachment #1: Type: text/plain, Size: 2076 bytes --]

On Thu, Jan 06, 2022 at 03:33:49PM +0100, Juergen Gross wrote:
> I'm currently thinking how to implement live update of Xenstore-stubdom.
> 
> I should note that my plan is to support live update for a Xenstore PVH
> stubdom only, as kexec functionality is much easier to implement for
> that case.
> 
> The main problem is to transfer the Xenstore state to the new instance.
> 
> Originally my idea was to keep the state in memory and hand it over to
> the new kernel as a module. This would probably work, but there is one
> basic problem with that approach: the Xenstore domain might need quite
> some additional memory to hold the module (roughly up to twice the
> memory it has in use when starting the live update).
> 
> As a result the live update sequence would need to:
> 
> 1. increase the maximum allowed memory of the Xenstore domain
> 2. allocate additional memory for the module
> 3. create the module
> 4. kexec to the new kernel
> 5. build the Xenstore from the module
> 6. free the module memory
> 7. decrease the max memory of the domain again
> 
> The first and last step would need to be done by xenstore-control in
> dom0, while all the other steps would be done in the Xenstore-stubdom.
> 
> As an alternative I was thinking to add some basic file operations to
> Xenstore-stubdom. This would have the additional benefit of having an
> easy way to add Xenstore logging support to the stubdom without the risk
> to lose logging data when using the console for that purpose.

What specifically is wrong about using console for logging? Rate limits?

> So what are the thoughts for the way to go with Xenstore-stubdom live
> update? Should I use stubdom memory for the state, or should I go with a
> file based approach (and if yes, 9pfs or pvcalls based)?

Personally, I'd go with memory, as IMHO it the cleanest design from
disaggregation point of view (what was in stubomain, remains in
stubdomain, no extra external interface necessary).

-- 
Best Regards,
Marek Marczykowski-Górecki
Invisible Things Lab

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

  reply	other threads:[~2022-01-06 16:59 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-06 14:33 Live update of Xenstore-stubdom Juergen Gross
2022-01-06 16:59 ` Marek Marczykowski-Górecki [this message]
2022-01-07  5:49   ` Juergen Gross

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=Ydcf17CezyPpQS8E@mail-itl \
    --to=marmarek@invisiblethingslab.com \
    --cc=George.Dunlap@citrix.com \
    --cc=andrew.cooper3@citrix.com \
    --cc=anthony.perard@citrix.com \
    --cc=iwj@xenproject.org \
    --cc=jbeulich@suse.com \
    --cc=jgross@suse.com \
    --cc=julien@xen.org \
    --cc=roger.pau@citrix.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.