On 22/01/15 03:18, Andy Lutomirski wrote:
>> --- 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) ||
>> +           __this_cpu_read(xed_nesting_count))
>> +               return;
> 
> What's xed_nesting_count?

It used to prevent nested upcalls when a hypercall called from an upcall
triggers another upcall.

There's no way a such a nested hypercall can be preemptible so the check
cfor xed_nesting_count an be removed from here.

David

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to