Re: [Xen-devel] [RFC v3 2/2] x86/xen: allow privcmd hypercalls to be preempted
From: Luis R. Rodriguez
Date: Thu Jan 22 2015 - 13:56:38 EST
On Thu, Jan 22, 2015 at 01:10:49PM +0000, Julien Grall wrote:
> Hi Luis,
>
> On 22/01/15 02:17, Luis R. Rodriguez wrote:
> > diff --git a/drivers/xen/events/events_base.c b/drivers/xen/events/events_base.c
> > index b4bca2d..23c526b 100644
> > --- a/drivers/xen/events/events_base.c
> > +++ b/drivers/xen/events/events_base.c
> > @@ -32,6 +32,8 @@
> > #include <linux/slab.h>
> > #include <linux/irqnr.h>
> > #include <linux/pci.h>
> > +#include <linux/sched.h>
> > +#include <linux/kprobes.h>
> >
> > #ifdef CONFIG_X86
> > #include <asm/desc.h>
> > @@ -1243,6 +1245,17 @@ void xen_evtchn_do_upcall(struct pt_regs *regs)
> > set_irq_regs(old_regs);
> > }
> >
> > +notrace void xen_end_upcall(struct pt_regs *regs)
> > +{
> > + if (!xen_is_preemptible_hypercall(regs) ||
>
> I don't see any definition of xen_is_preemptible_hypercall for ARM32/ARM64.
>
> As this function is called from the generic code, you have at least to
> stub this function for those architectures.
Will add as:
diff --git a/arch/arm/include/asm/xen/hypercall.h b/arch/arm/include/asm/xen/hypercall.h
index 712b50e..4fc8395 100644
--- a/arch/arm/include/asm/xen/hypercall.h
+++ b/arch/arm/include/asm/xen/hypercall.h
@@ -74,4 +74,9 @@ MULTI_mmu_update(struct multicall_entry *mcl, struct mmu_update *req,
BUG();
}
+static inline bool xen_is_preemptible_hypercall(struct pt_regs *regs)
+{
+ return false;
+}
+
#endif /* _ASM_ARM_XEN_HYPERCALL_H */
This will cover both arm and arm64 as arm64 includes the arm header.
Luis
--
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/