All of lore.kernel.org
 help / color / mirror / Atom feed
From: Julien Grall <julien@xen.org>
To: Stefano Stabellini <sstabellini@kernel.org>
Cc: xen-devel@lists.xenproject.org, jgross@suse.com,
	Bertrand.Marquis@arm.com, Volodymyr_Babchuk@epam.com,
	Luca Miccio <lucmiccio@gmail.com>,
	Stefano Stabellini <stefano.stabellini@xilinx.com>
Subject: Re: [PATCH v3 3/5] xen/arm: configure dom0less domain for enabling xenstore after boot
Date: Fri, 1 Apr 2022 09:36:01 +0100	[thread overview]
Message-ID: <d7fa66f4-6053-8c1c-3fb0-29e419f7591e@xen.org> (raw)
In-Reply-To: <alpine.DEB.2.22.394.2203311341220.2910984@ubuntu-linux-20-04-desktop>

Hi Stefano,

On 01/04/2022 01:34, Stefano Stabellini wrote:
>>> Because (as you noted as a comment to the following patch) as soon as
>>> d->arch.hvm.params[HVM_PARAM_STORE_PFN] is set the guest can continue
>>> with the initialization and will expect the right data to be set on the
>>> page.
>>
>> I think you misunderstood my question. From my understanding, at the moment,
>> Linux would break with your proposal. So you need to modify the kernel in
>> order to support what you are doing.
> 
> Linux does not break with this proposal. I wrote a longer explanation
> [1] some time ago.

I guess I should not have written "broken" here. But instead point out 
that...

> 
> In short: the master branch and any supported versions of Linux boots
> fine with this proposal without changes, however it wouldn't be able to
> use PV drivers when started as dom0less kernel.
> 
> To be able to use the new feature, this patch is required [2].

... without the extra patch is Linux, you would not be able to take 
advantage of this feature.

>> IOW, we have room to decide the approach here.
>>
>> Xenstore protocol has a way to allow (re)connection (see
>> docs/mics/xenstore-ring.txt). This feature looks quite suited to what you are
>> trying to do here (we want to delay the connection).
>>
>> The main advantage with this approach is the resources allocation for Xenstore
>> will be done in the place and the work in Linux could be re-used for
>> non-dom0less domain.
>>
>> Have you explored it?
> 
> Luca (CCed) is the original author. I don't know if he explored that
> approach. I have not looked into it in any details but I think there
> might be challenges: in this case there is nothing on the shared page.
> There are no feature bits as it has not been initialized (xenstored is
> the one initializating it).
I agree there is nothing today. But here, we have the liberty to 
initialize the feature bits in Xen.

> 
> Keep in mind that Luca and I have done many tests on this approach, both
> the Xen side, the Linux side (very many different kernel versions) and
> complex configurations (both network and block PV drivers, DMA mastering
> devices, etc.) If we changed approach now we would lose some of the
> value of the past efforts.

I appreciate the effort you put into testing this approach. However, 
this is an external interface that we will consider stable as soon as 
the two sides (Xen and Linux) are committed. So I want to make sure we 
are not putting ourself in a corner.

One major issue I can forsee with your approach is the xenstore 
initialization seem to only works for HVM. In theory, we may have the 
same need for PV (e.g. in the case of Hyperlaunch).

How would your proposal work for PV guest?

Note that I now that PV guest may not work without Xenstore. But I don't 
see any reason why we could not start them before Xenstored.

Cheers,

-- 
Julien Grall


  reply	other threads:[~2022-04-01  8:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-28 21:32 [PATCH v3 0/5] dom0less PV drivers Stefano Stabellini
2022-01-28 21:33 ` [PATCH v3 1/5] xen: introduce xen,enhanced dom0less property Stefano Stabellini
2022-01-29 17:58   ` Julien Grall
2022-03-23  0:08     ` Stefano Stabellini
2022-03-25 17:58       ` Julien Grall
2022-04-01  0:33         ` Stefano Stabellini
2022-01-28 21:33 ` [PATCH v3 2/5] xen: make evtchn_alloc_unbound public Stefano Stabellini
2022-01-31  9:32   ` Jan Beulich
2022-03-15 14:10   ` Daniel P. Smith
2022-03-23  0:22     ` Stefano Stabellini
2022-03-23  6:57       ` Jan Beulich
2022-03-25  0:30         ` Stefano Stabellini
2022-03-25  8:17           ` Jan Beulich
2022-03-25 15:45           ` Daniel P. Smith
2022-03-25 16:52             ` Jason Andryuk
2022-03-28 14:54               ` Daniel P. Smith
2022-03-25 16:55             ` Julien Grall
2022-03-25 17:19           ` Julien Grall
2022-03-25 21:05             ` Stefano Stabellini
2022-03-28 14:56               ` Julien Grall
2022-03-28 15:11               ` Daniel P. Smith
2022-03-28 16:38               ` Daniel P. Smith
2022-03-28 23:23                 ` Stefano Stabellini
2022-03-24 15:36       ` Daniel P. Smith
2022-01-28 21:33 ` [PATCH v3 3/5] xen/arm: configure dom0less domain for enabling xenstore after boot Stefano Stabellini
2022-01-29 18:13   ` Julien Grall
2022-03-23  1:18     ` Stefano Stabellini
2022-03-25 18:46       ` Julien Grall
2022-04-01  0:34         ` Stefano Stabellini
2022-04-01  8:36           ` Julien Grall [this message]
2022-01-28 21:33 ` [PATCH v3 4/5] xenstored: send an evtchn notification on introduce_domain Stefano Stabellini
2022-01-28 21:33 ` [PATCH v3 5/5] tools: add example application to initialize dom0less PV drivers Stefano Stabellini
2022-01-29 19:35   ` Julien Grall
2022-03-23  2:50     ` Stefano Stabellini
2022-03-28 16:25       ` Julien Grall
2022-04-01  0:35         ` Stefano Stabellini
2022-04-01 10:02           ` Julien Grall
2022-04-01 10:27             ` Julien Grall
2022-04-01 10:34             ` Juergen Gross
2022-04-06  0:28               ` Stefano Stabellini
2022-04-06  0:25             ` Stefano Stabellini
2022-04-06  0:53               ` Stefano Stabellini

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=d7fa66f4-6053-8c1c-3fb0-29e419f7591e@xen.org \
    --to=julien@xen.org \
    --cc=Bertrand.Marquis@arm.com \
    --cc=Volodymyr_Babchuk@epam.com \
    --cc=jgross@suse.com \
    --cc=lucmiccio@gmail.com \
    --cc=sstabellini@kernel.org \
    --cc=stefano.stabellini@xilinx.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.