| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv5] x86/xen: allow privcmd hypercalls to be preempted
 On Thu, Feb 5, 2015 at 4:41 AM, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
> Hypercalls submitted by user space tools via the privcmd driver can
> take a long time (potentially many 10s of seconds) if the hypercall
> has many sub-operations.
>
> +
> +void xen_maybe_preempt_hcall(void)
I think this should be asmlinkage __visible.  Other than that, this
looks good to me.  I like your solution to the tracking problem.
> +{
> +       if (__this_cpu_read(xen_in_preemptible_hcall)) {
Hmm.  That being said, is there any issue with nested interrupts?
Suppose you get an interrupt that re-enables IRQs in the middle (I
think we do this on occasion).  Then you get another interrupt that
reschedules illegally in the middle of the first one.
Something like if (__this_cpu_read(xen_in_preemptible_hcall) &&
!in_interrupt()) { along with a comment might do the trick.
--Andy
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |