Re: [Xen-devel] [PATCH] x86, paravirt, xen: Remove the 64-bit irq_enable_sysexit pvop

From: Andy Lutomirski
Date: Mon Apr 06 2015 - 16:03:48 EST


On Mon, Apr 6, 2015 at 11:30 AM, Boris Ostrovsky
<boris.ostrovsky@xxxxxxxxxx> wrote:
>
> On 04/06/2015 01:44 PM, Andrew Cooper wrote:
>>
>> On 06/04/2015 16:29, Andy Lutomirski wrote:
>>>
>>> On Mon, Apr 6, 2015 at 7:10 AM, Konrad Rzeszutek Wilk
>>> <konrad.wilk@xxxxxxxxxx> wrote:
>>>>
>>>> On Fri, Apr 03, 2015 at 03:52:30PM -0700, Andy Lutomirski wrote:
>>>>>
>>>>> [cc: Boris and Konrad. Whoops]
>>>>>
>>>>> On Fri, Apr 3, 2015 at 3:51 PM, Andy Lutomirski <luto@xxxxxxxxxx>
>>>>> wrote:
>>>>>>
>>>>>> We don't use irq_enable_sysexit on 64-bit kernels any more. Remove
>>>>
>>>> Is there an commit (or name of patch) that explains why
>>>> 32-bit-user-space-on-64-bit
>>>> kernels is unsavory?
>>>
>>> sysexit never tasted very good :-p
>>>
>>> We're (hopefully) not breaking 32-bit-user-space-on-64-bit, but we're
>>> trying an unconventional approach to making the code faster and less
>>> scary. As a result, 64-bit kernels won't use sysexit any more.
>>> Hopefully Xen is okay with the slightly sneaky thing we're doing.
>>> AFAICT Xen thinks of sysretl and sysexit as slightly funny irets, so I
>>> don't expect there to be any problem.
>>
>> 64bit PV kernels must bounce through Xen to switch from the kernel to
>> the user pagetables (since both kernel and userspace are both actually
>> running in ring3 with user pages).
>>
>> As a result, exit to userspace ends up as a hypercall into Xen which has
>> an effect very similar to an `iret`, but with some extra fixup in the
>> background.
>>
>> I can't forsee any Xen issues as a result of this patch.
>
>
>
> I ran tip plus this patch (plus another patch that fixes an unrelated Xen
> regression in tip) through our test suite and it completed without problems.
>
> I also ran some very simple 32-bit programs in a 64-bit PV guest and didn't
> see any problems there neither.

At the risk of redundancy, did you test on Intel hardware? At least
on native systems, the code in question never executes on AMD systems.

--Andy

>
> -boris
>



--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/