[RFC PATCH 15/35] subarch support for controlling interrupt delivery

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

 



Christian Limpach wrote:
> On Tue, May 09, 2006 at 07:49:42AM -0700, Martin J. Bligh wrote:
> 
>>>+#define __cli()							 \
>>>+do {									\
>>>+	struct vcpu_info *_vcpu;					\
>>>+	preempt_disable();						\
>>>+	_vcpu = &HYPERVISOR_shared_info->vcpu_info[__vcpu_id];		\
>>>+	_vcpu->evtchn_upcall_mask = 1;					\
>>>+	preempt_enable_no_resched();					\
>>>+	barrier();							\
>>>+} while (0)
>>
>>Should be a real function
> 
> 
> Yes, except it's not trivially done because if __cli was an inline
> function, you need to have everything that is used in the declaration
> defined when the function is declared as opposed to when the #define
> gets used.  I'll give it another try, but it very quickly becomes
> #include hell.
> 
> Anybody want to comment on the performance impact of making
> local_irq_* non-inline functions?

I wasn't concerned with inline vs non-inline - that's your choice.
Just the inherent foulness of multi-line macros ;-)

M.



[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux