xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* PV Autotranslate guests (are they used at all?)
@ 2016-12-07 20:37 Andrew Cooper
  2016-12-07 21:08 ` Konrad Rzeszutek Wilk
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Andrew Cooper @ 2016-12-07 20:37 UTC (permalink / raw)
  To: Xen-devel List, Jan Beulich, Tim Deegan, George Dunlap

Hello,

While digging around, it looks like there is some major bitrot of the PV
autotranslate code.

When constructing an autotranslate domain, tools/libxc/xc_dom_x86.c:
x86_shadow() sets refcount | translate on the domain.

The combination of translate != external was excluded by c/s
92942fd3d469, which means that PV autotranslate guests can't boot on Xen
4.7 or later.

The shadow emulation code for PV guests (which gets used one way or
another if any of refcount|translate|external are set) always sets up
emulation in the same mode as Xen's %cs.  It appears to have had this
behaviour since its introduction in c/s 1daf5e293b, and presumably means
that noone has tried running a 32bit autotranslate guest on 64bit Xen in
anger.

Does anyone use PV autotranslate guests at all?  I don't believe I have
never come across one.

The current shadow code excludes the translate without refcounts case,
but the converse case (refcounts without translate) doesn't make sense. 
Without Xen performing translation, there are no shadow tables to
reference count in the first place.

This means that the only sensible shadow mode is refcount | translate |
external, which allows PV emulation code in arch/x86/mm/shadow/ to be
dropped, as PV guests necessarily can't be external.  Doing so however
would definitely be the end of autotranslate mode.

Given that it hasn't booted on the past two releases of Xen, and doesn't
appear to have ever worked in one common case, does anyone have any
objection if I remove all vestigial pieces and permanently lay the
feature to rest in SCM history?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PV Autotranslate guests (are they used at all?)
  2016-12-07 20:37 PV Autotranslate guests (are they used at all?) Andrew Cooper
@ 2016-12-07 21:08 ` Konrad Rzeszutek Wilk
  2016-12-08 10:01 ` Tim Deegan
  2016-12-14  3:23 ` George Dunlap
  2 siblings, 0 replies; 4+ messages in thread
From: Konrad Rzeszutek Wilk @ 2016-12-07 21:08 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: George Dunlap, Tim Deegan, Jan Beulich, Xen-devel List

On Wed, Dec 07, 2016 at 08:37:29PM +0000, Andrew Cooper wrote:
> Hello,
> 
> While digging around, it looks like there is some major bitrot of the PV
> autotranslate code.
> 
> When constructing an autotranslate domain, tools/libxc/xc_dom_x86.c:
> x86_shadow() sets refcount | translate on the domain.
> 
> The combination of translate != external was excluded by c/s
> 92942fd3d469, which means that PV autotranslate guests can't boot on Xen
> 4.7 or later.
> 
> The shadow emulation code for PV guests (which gets used one way or
> another if any of refcount|translate|external are set) always sets up
> emulation in the same mode as Xen's %cs.  It appears to have had this
> behaviour since its introduction in c/s 1daf5e293b, and presumably means
> that noone has tried running a 32bit autotranslate guest on 64bit Xen in
> anger.
> 
> Does anyone use PV autotranslate guests at all?  I don't believe I have
> never come across one.

I ran it once I thing for fun. Just to see if dom0 could run. But that
was in .. Xen 4.1 days?

> 
> The current shadow code excludes the translate without refcounts case,
> but the converse case (refcounts without translate) doesn't make sense. 
> Without Xen performing translation, there are no shadow tables to
> reference count in the first place.
> 
> This means that the only sensible shadow mode is refcount | translate |
> external, which allows PV emulation code in arch/x86/mm/shadow/ to be
> dropped, as PV guests necessarily can't be external.  Doing so however
> would definitely be the end of autotranslate mode.
> 
> Given that it hasn't booted on the past two releases of Xen, and doesn't
> appear to have ever worked in one common case, does anyone have any
> objection if I remove all vestigial pieces and permanently lay the
> feature to rest in SCM history?

No objection.




> 
> ~Andrew
> 
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> https://lists.xen.org/xen-devel

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PV Autotranslate guests (are they used at all?)
  2016-12-07 20:37 PV Autotranslate guests (are they used at all?) Andrew Cooper
  2016-12-07 21:08 ` Konrad Rzeszutek Wilk
@ 2016-12-08 10:01 ` Tim Deegan
  2016-12-14  3:23 ` George Dunlap
  2 siblings, 0 replies; 4+ messages in thread
From: Tim Deegan @ 2016-12-08 10:01 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: George Dunlap, Jan Beulich, Xen-devel List

At 20:37 +0000 on 07 Dec (1481143049), Andrew Cooper wrote:
> Given that it hasn't booted on the past two releases of Xen, and doesn't
> appear to have ever worked in one common case, does anyone have any
> objection if I remove all vestigial pieces and permanently lay the
> feature to rest in SCM history?

No objection from me!

Tim.

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: PV Autotranslate guests (are they used at all?)
  2016-12-07 20:37 PV Autotranslate guests (are they used at all?) Andrew Cooper
  2016-12-07 21:08 ` Konrad Rzeszutek Wilk
  2016-12-08 10:01 ` Tim Deegan
@ 2016-12-14  3:23 ` George Dunlap
  2 siblings, 0 replies; 4+ messages in thread
From: George Dunlap @ 2016-12-14  3:23 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Tim (Xen.org), George Dunlap, Jan Beulich, Xen-devel List


> On Dec 8, 2016, at 4:37 AM, Andrew Cooper <andrew.cooper3@citrix.com> wrote:
> 
> Hello,
> 
> While digging around, it looks like there is some major bitrot of the PV
> autotranslate code.
> 
> When constructing an autotranslate domain, tools/libxc/xc_dom_x86.c:
> x86_shadow() sets refcount | translate on the domain.
> 
> The combination of translate != external was excluded by c/s
> 92942fd3d469, which means that PV autotranslate guests can't boot on Xen
> 4.7 or later.
> 
> The shadow emulation code for PV guests (which gets used one way or
> another if any of refcount|translate|external are set) always sets up
> emulation in the same mode as Xen's %cs.  It appears to have had this
> behaviour since its introduction in c/s 1daf5e293b, and presumably means
> that noone has tried running a 32bit autotranslate guest on 64bit Xen in
> anger.
> 
> Does anyone use PV autotranslate guests at all?  I don't believe I have
> never come across one.

I used them for my PhD thesis that I finished up in 2006 — that’s probably why the code is there in the first place.  And the only reason I used PV guests instead of HVM guests is that when I started my work in 2004 HVM guests didn’t exist.  If execution replay is ever implemented again, it would probably be with PVH guests.

So no objection from me either.

 -George

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-12-14  3:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-07 20:37 PV Autotranslate guests (are they used at all?) Andrew Cooper
2016-12-07 21:08 ` Konrad Rzeszutek Wilk
2016-12-08 10:01 ` Tim Deegan
2016-12-14  3:23 ` George Dunlap

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).