Message ID | 20190715113739.17694-1-jgross@suse.com (mailing list archive) |
---|---|
Headers | show |
Series | Remove 32-bit Xen PV guest support | expand |
On Mon, Jul 15, 2019 at 01:37:37PM +0200, Juergen Gross wrote: > The long term plan has been to replace Xen PV guests by PVH. The first > victim of that plan are now 32-bit PV guests, as those are used only > rather seldom these days. Xen on x86 requires 64-bit support and with > Grub2 now supporting PVH officially since version 2.04 there is no > need to keep 32-bit PV guest support alive in the Linux kernel. > Additionally Meltdown mitigation is not available in the kernel running > as 32-bit PV guest, so dropping this mode makes sense from security > point of view, too. > > Juergen Gross (2): > x86/xen: remove 32-bit Xen PV guest support > x86/paravirt: remove 32-bit support from PARAVIRT_XXL Hooray!
On 15.07.19 14:32, Peter Zijlstra wrote: > On Mon, Jul 15, 2019 at 01:37:37PM +0200, Juergen Gross wrote: >> The long term plan has been to replace Xen PV guests by PVH. The first >> victim of that plan are now 32-bit PV guests, as those are used only >> rather seldom these days. Xen on x86 requires 64-bit support and with >> Grub2 now supporting PVH officially since version 2.04 there is no >> need to keep 32-bit PV guest support alive in the Linux kernel. >> Additionally Meltdown mitigation is not available in the kernel running >> as 32-bit PV guest, so dropping this mode makes sense from security >> point of view, too. >> >> Juergen Gross (2): >> x86/xen: remove 32-bit Xen PV guest support >> x86/paravirt: remove 32-bit support from PARAVIRT_XXL > > Hooray! > Always a pleasure to cheer the community up by sending Xen patches. :-D Juergen
Juergen Gross <jgross@suse.com> writes: > The long term plan has been to replace Xen PV guests by PVH. The first > victim of that plan are now 32-bit PV guests, as those are used only > rather seldom these days. Xen on x86 requires 64-bit support and with > Grub2 now supporting PVH officially since version 2.04 there is no > need to keep 32-bit PV guest support alive in the Linux kernel. > Additionally Meltdown mitigation is not available in the kernel running > as 32-bit PV guest, so dropping this mode makes sense from security > point of view, too. Normally we have a deprecation period for feature removals like this. You would make the kernel print a warning for some releases, and when no user complains you can then remove. If a user complains you can't. -Andi
On Mon, Jul 15, 2019 at 9:34 AM Andi Kleen <ak@linux.intel.com> wrote: > > Juergen Gross <jgross@suse.com> writes: > > > The long term plan has been to replace Xen PV guests by PVH. The first > > victim of that plan are now 32-bit PV guests, as those are used only > > rather seldom these days. Xen on x86 requires 64-bit support and with > > Grub2 now supporting PVH officially since version 2.04 there is no > > need to keep 32-bit PV guest support alive in the Linux kernel. > > Additionally Meltdown mitigation is not available in the kernel running > > as 32-bit PV guest, so dropping this mode makes sense from security > > point of view, too. > > Normally we have a deprecation period for feature removals like this. > You would make the kernel print a warning for some releases, and when > no user complains you can then remove. If a user complains you can't. > As I understand it, the kernel rules do allow changes like this even if there's a complaint: this is a patch that removes what is effectively hardware support. If the maintenance cost exceeds the value, then removal is fair game. (Obviously we weight the value to preserving compatibility quite highly, but in this case, Xen dropped 32-bit hardware support a long time ago. If the Xen hypervisor says that 32-bit PV guest support is deprecated, it's deprecated.) That being said, a warning might not be a bad idea. What's the current status of this in upstream Xen?
On 15/07/2019 18:28, Andy Lutomirski wrote: > On Mon, Jul 15, 2019 at 9:34 AM Andi Kleen <ak@linux.intel.com> wrote: >> Juergen Gross <jgross@suse.com> writes: >> >>> The long term plan has been to replace Xen PV guests by PVH. The first >>> victim of that plan are now 32-bit PV guests, as those are used only >>> rather seldom these days. Xen on x86 requires 64-bit support and with >>> Grub2 now supporting PVH officially since version 2.04 there is no >>> need to keep 32-bit PV guest support alive in the Linux kernel. >>> Additionally Meltdown mitigation is not available in the kernel running >>> as 32-bit PV guest, so dropping this mode makes sense from security >>> point of view, too. >> Normally we have a deprecation period for feature removals like this. >> You would make the kernel print a warning for some releases, and when >> no user complains you can then remove. If a user complains you can't. >> > As I understand it, the kernel rules do allow changes like this even > if there's a complaint: this is a patch that removes what is > effectively hardware support. If the maintenance cost exceeds the > value, then removal is fair game. (Obviously we weight the value to > preserving compatibility quite highly, but in this case, Xen dropped > 32-bit hardware support a long time ago. If the Xen hypervisor says > that 32-bit PV guest support is deprecated, it's deprecated.) > > That being said, a warning might not be a bad idea. What's the > current status of this in upstream Xen? So personally, I'd prefer to see support stay, but at the end of the day it is Juergen's choice as the maintainer of the code. Xen itself has been exclusively 64-bit since Xen 4.3 (released in 2013). Over time, various features like SMEP/SMAP have been making 32bit PV guests progressively slower, because ring 1 is supervisor rather than user. Things have got even worse with IBRS, to the point at which 32bit PV guests are starting to run like treacle. There are no current plans to remove support for 32bit PV guests from Xen, but it is very much in the category of "you shouldn't be using this mode any more". ~Andrew P.S. I don't see 64bit PV guest support going anywhere, because there are still a number of open performance questions due to the inherent differences between syscall and vmexit, and the difference EPT/NPT tables make on cross-domain mappings.
On 15.07.19 19:28, Andy Lutomirski wrote: > On Mon, Jul 15, 2019 at 9:34 AM Andi Kleen <ak@linux.intel.com> wrote: >> >> Juergen Gross <jgross@suse.com> writes: >> >>> The long term plan has been to replace Xen PV guests by PVH. The first >>> victim of that plan are now 32-bit PV guests, as those are used only >>> rather seldom these days. Xen on x86 requires 64-bit support and with >>> Grub2 now supporting PVH officially since version 2.04 there is no >>> need to keep 32-bit PV guest support alive in the Linux kernel. >>> Additionally Meltdown mitigation is not available in the kernel running >>> as 32-bit PV guest, so dropping this mode makes sense from security >>> point of view, too. >> >> Normally we have a deprecation period for feature removals like this. >> You would make the kernel print a warning for some releases, and when >> no user complains you can then remove. If a user complains you can't. >> > > As I understand it, the kernel rules do allow changes like this even > if there's a complaint: this is a patch that removes what is > effectively hardware support. If the maintenance cost exceeds the > value, then removal is fair game. (Obviously we weight the value to > preserving compatibility quite highly, but in this case, Xen dropped > 32-bit hardware support a long time ago. If the Xen hypervisor says > that 32-bit PV guest support is deprecated, it's deprecated.) > > That being said, a warning might not be a bad idea. What's the > current status of this in upstream Xen? Xen still supports that. We have asked downstream for their opinion about dropping 32-bit PV guest support in the kernel about 1 year ago and the common answer was: no problem, but for users still wanting 32 bit guests we should wait until PVH support is available in all related products. Grub2 was the last one missing and as grub2 has released a version with PVH support I posted this small series now. Juergen
On 15.07.19 19:39, Andrew Cooper wrote: > On 15/07/2019 18:28, Andy Lutomirski wrote: >> On Mon, Jul 15, 2019 at 9:34 AM Andi Kleen <ak@linux.intel.com> wrote: >>> Juergen Gross <jgross@suse.com> writes: >>> >>>> The long term plan has been to replace Xen PV guests by PVH. The first >>>> victim of that plan are now 32-bit PV guests, as those are used only >>>> rather seldom these days. Xen on x86 requires 64-bit support and with >>>> Grub2 now supporting PVH officially since version 2.04 there is no >>>> need to keep 32-bit PV guest support alive in the Linux kernel. >>>> Additionally Meltdown mitigation is not available in the kernel running >>>> as 32-bit PV guest, so dropping this mode makes sense from security >>>> point of view, too. >>> Normally we have a deprecation period for feature removals like this. >>> You would make the kernel print a warning for some releases, and when >>> no user complains you can then remove. If a user complains you can't. >>> >> As I understand it, the kernel rules do allow changes like this even >> if there's a complaint: this is a patch that removes what is >> effectively hardware support. If the maintenance cost exceeds the >> value, then removal is fair game. (Obviously we weight the value to >> preserving compatibility quite highly, but in this case, Xen dropped >> 32-bit hardware support a long time ago. If the Xen hypervisor says >> that 32-bit PV guest support is deprecated, it's deprecated.) >> >> That being said, a warning might not be a bad idea. What's the >> current status of this in upstream Xen? > > So personally, I'd prefer to see support stay, but at the end of the day > it is Juergen's choice as the maintainer of the code. Especially on the security front we are unsafe with 32-bit PV Linux. And making it safe will make it so slow that the needed effort is not spent very well. Juergen
On 15.07.2019 19:28, Andy Lutomirski wrote: > On Mon, Jul 15, 2019 at 9:34 AM Andi Kleen <ak@linux.intel.com> wrote: >> >> Juergen Gross <jgross@suse.com> writes: >> >>> The long term plan has been to replace Xen PV guests by PVH. The first >>> victim of that plan are now 32-bit PV guests, as those are used only >>> rather seldom these days. Xen on x86 requires 64-bit support and with >>> Grub2 now supporting PVH officially since version 2.04 there is no >>> need to keep 32-bit PV guest support alive in the Linux kernel. >>> Additionally Meltdown mitigation is not available in the kernel running >>> as 32-bit PV guest, so dropping this mode makes sense from security >>> point of view, too. >> >> Normally we have a deprecation period for feature removals like this. >> You would make the kernel print a warning for some releases, and when >> no user complains you can then remove. If a user complains you can't. >> > > As I understand it, the kernel rules do allow changes like this even > if there's a complaint: this is a patch that removes what is > effectively hardware support. If the maintenance cost exceeds the > value, then removal is fair game. (Obviously we weight the value to > preserving compatibility quite highly, but in this case, Xen dropped > 32-bit hardware support a long time ago. If the Xen hypervisor says > that 32-bit PV guest support is deprecated, it's deprecated.) Since it was implied but not explicit from Andrew's reply, just to make it explicit: So far 32-bit PV guest support has not been deprecated in Xen itself. Jan