Re: [PATCH v5 2/2] x86/xen: allow privcmd hypercalls to be preempted on 64-bit
From: Luis R. Rodriguez
Date: Mon Feb 02 2015 - 19:25:29 EST
On Thu, Jan 29, 2015 at 12:35 PM, Luis R. Rodriguez <mcgrof@xxxxxxxx> 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, <mcgrof@xxxxxxxxxxxxxxxx> 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)
--
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/