Re: [Xen-devel] [PATCH v5 1/2] xen: add xen_is_preemptible_hypercall()

2015-02-03 Thread Luis R. Rodriguez
On Tue, Feb 03, 2015 at 11:05:15AM +, David Vrabel wrote:
 On 27/01/15 01:51, Luis R. Rodriguez wrote:
  
  +#ifndef CONFIG_PREEMPT
  +extern struct { char _entry[32]; } preemptible_hypercall_page[];
  +
  +static inline bool xen_is_preemptible_hypercall(struct pt_regs *regs)
  +{
  +   return !user_mode_vm(regs) 
  +   regs-ip = (unsigned long)preemptible_hypercall_page 
  +   regs-ip  (unsigned long)preemptible_hypercall_page + 
  PAGE_SIZE;
 
 I asked for this test to be optimized.
 
   return (regs-ip  PAGE_SHIFT)
 == ((unsigned long)preemptible_hypercall_page  PAGE_SHIFT)
!user_mode_vm(regs);

It didn't seem you were so sure about it and I asked some
clarifications about it but you had not replied:

http://www.gossamer-threads.com/lists/xen/devel/363565?page=last

 Luis
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [Xen-devel] [PATCH v5 1/2] xen: add xen_is_preemptible_hypercall()

2015-02-03 Thread David Vrabel
On 27/01/15 01:51, Luis R. Rodriguez wrote:
 
 +#ifndef CONFIG_PREEMPT
 +extern struct { char _entry[32]; } preemptible_hypercall_page[];
 +
 +static inline bool xen_is_preemptible_hypercall(struct pt_regs *regs)
 +{
 + return !user_mode_vm(regs) 
 + regs-ip = (unsigned long)preemptible_hypercall_page 
 + regs-ip  (unsigned long)preemptible_hypercall_page + 
 PAGE_SIZE;

I asked for this test to be optimized.

return (regs-ip  PAGE_SHIFT)
== ((unsigned long)preemptible_hypercall_page  PAGE_SHIFT)
 !user_mode_vm(regs);

David
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html