[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [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 <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)
 1:    mov %esp, %eax
     call xen_evtchn_do_upcall
+    movl %esp,%eax
+    call xen_end_upcall
     jmp  ret_from_intr

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.