2015-02-03 00:25:26

by Luis Chamberlain

[permalink] [raw]
Subject: Re: [PATCH v5 2/2] x86/xen: allow privcmd hypercalls to be preempted on 64-bit

On Thu, Jan 29, 2015 at 12:35 PM, Luis R. Rodriguez <[email protected]> wrote:
> On Tue, Jan 27, 2015 at 10:06:44AM +0000, David Vrabel wrote:
>> On 27/01/15 08:35, Jan Beulich wrote:
>> >>>> On 27.01.15 at 02:51, <[email protected]> wrote:
>> >
>> > Even if David told you this would be acceptable, I have to question
>> > an abstract model of fixing issues on only 64-bit kernels - this may
>> > be acceptable for distro purposes, but seems hardly the right
>> > approach for upstream. If 32-bit ones are to become deliberately
>> > broken, the XEN config option should become dependent on !X86_32.
>>
>> I'd rather have something omitted (keeping the current behaviour) than
>> something that has not been tested at all.
>>
>> Obviously it would be preferable to to fix both 32-bit and 64-bit x86
>> (and ARM as well) but I'm not going to block an important bug fix for
>> the majority use case (64-bit x86).
>
> Hey folks, what is the status of these patches? Any more feedback?

As I waited I decided to finally install a 32-bit OS but I found now
that as of Xen commit 5d1181a5 which went upstream as of xen 4.3 Xen
no longer supports 32-bit for x86. So -- Xen no loner even builds on
32-bit systems. The latest version I could use then would be Xen 4.2
but the even the stable-4.2 branch fails to build for me even after
fixing quite a bit of compile failures, I'm just going to give up now.
I want to build Xen as I'm relying on some customized emulated delays
on the hypervisor in order to test the issue, otherwise I'd have to
dedicate a huge system to reproduce this issue.

While it is possible folks on old xen may use newer kernels this issue
is likely not a high priority on those 32-bit systems and likely hard
to reproduce there. When and if someone is able to test this on a
32-bit kernel / hypervisor then they can test the small patch below.

Can we move forward with the 64-bit part then?

diff --git a/arch/x86/kernel/entry_32.S b/arch/x86/kernel/entry_32.S
index 000d419..b4b1f42 100644
--- a/arch/x86/kernel/entry_32.S
+++ b/arch/x86/kernel/entry_32.S
@@ -982,6 +982,8 @@ ENTRY(xen_hypervisor_callback)
ENTRY(xen_do_upcall)
1: mov %esp, %eax
call xen_evtchn_do_upcall
+ movl %esp,%eax
+ call xen_end_upcall
jmp ret_from_intr
CFI_ENDPROC
ENDPROC(xen_hypervisor_callback)


2015-02-03 09:58:35

by David Vrabel

[permalink] [raw]
Subject: Re: [PATCH v5 2/2] x86/xen: allow privcmd hypercalls to be preempted on 64-bit

On 03/02/15 00:24, Luis R. Rodriguez wrote:
>
> As I waited I decided to finally install a 32-bit OS but I found now
> that as of Xen commit 5d1181a5 which went upstream as of xen 4.3 Xen
> no longer supports 32-bit for x86.

You don't need a 32-bit hypervisor to run 32-bit dom0 or domUs.

David