All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Cooper <andrew.cooper3@citrix.com>
To: Ian Campbell <Ian.Campbell@citrix.com>
Cc: Stefano Stabellini <stefano.stabellini@citrix.com>,
	Tim Deegan <tim@xen.org>, Keir Fraser <keir@xen.org>,
	Jan Beulich <JBeulich@suse.com>,
	Xen-devel <xen-devel@lists.xen.org>
Subject: Re: [PATCH xen-4.6] xen: Remove CONFIG_X86_SUPERVISOR_MODE_KERNEL as x86_32 builds are unsupported
Date: Mon, 5 Jan 2015 16:07:43 +0000	[thread overview]
Message-ID: <54AAB6CF.7070404@citrix.com> (raw)
In-Reply-To: <1420472473.28863.39.camel@citrix.com>

On 05/01/15 15:41, Ian Campbell wrote:
> On Mon, 2015-01-05 at 15:35 +0000, Andrew Cooper wrote:
>> Answering out-of-order
>>
>> This patch has no functional change WRT PVH.  The hunk commented on is
>> simply changed via indentation due to the removal of the conditional it
>> is in.  It was never been possible for a PVH kernel boot with
>> "!XENFEAT_supervisor_mode_kernel" in its feature string.
> Oh, good!
>
>> If retcon'ing this feature flag is acceptable then the problem goes
>> away, as can the commented hunk.  However, given the meaning of the
>> flag, it really should be advertised to plain HVM guests as well,
>> because their kernel does run in ring0.  At that point, it becomes more
>> of a general "running in an hvm container" flag.
> Conversely one could argue that it is a PV* only feature which makes no
> sense to an HVM guest (which I think is approximately what it means now)

This is going to cause problems with the effort to unify PVH and HVM
into a single guest type, which is why I raised the point.  The Linux
PVH code is already using it as a PVH vs non-PVH flag.

Either way - these are not problems which need fixing right now, but do
need to be considered as the unification work progresses.

>
>> What usecase was supervisor_mode_kernel developed for?  It seems
>> counter-intuitive, but I can't find anything in the history explaining
>> its use.
> It was a prototype from the pre-pvops days to see if it would be
> feasible to have a single kernel binary which ran either on Xen or on a
> stub hypervisor which ran it "as native" with little or no loss of
> performance^TM (e.g. for distro's convenience to avoid the multiple
> kernel issue).
>
> It never went beyond a prototype with Xen proper instead of the proposed
> stub hypervisor and then pvops came along and was a much more sensible
> idea...

Considering the implications of running dom0 in ring0, pvops seems like
a much more sensible idea.

~Andrew

  reply	other threads:[~2015-01-05 16:07 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-02 19:12 [PATCH xen-4.6] xen: Remove CONFIG_X86_SUPERVISOR_MODE_KERNEL as x86_32 builds are unsupported Andrew Cooper
2015-01-05 11:21 ` Tim Deegan
2015-01-05 15:16 ` Ian Campbell
2015-01-05 15:35   ` Andrew Cooper
2015-01-05 15:41     ` Ian Campbell
2015-01-05 16:07       ` Andrew Cooper [this message]
2015-01-05 16:16         ` Ian Campbell
2015-01-06  2:22     ` Mukesh Rathor

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=54AAB6CF.7070404@citrix.com \
    --to=andrew.cooper3@citrix.com \
    --cc=Ian.Campbell@citrix.com \
    --cc=JBeulich@suse.com \
    --cc=keir@xen.org \
    --cc=stefano.stabellini@citrix.com \
    --cc=tim@xen.org \
    --cc=xen-devel@lists.xen.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.