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

Re: [Xen-devel] Some questions about Interrupt and event channel about Xen on ARM.

  • To: ììì <supsup5642@xxxxxxxxx>
  • From: "Zhangleiqiang (Trump)" <zhangleiqiang@xxxxxxxxxx>
  • Date: Tue, 27 Jan 2015 09:04:06 +0000
  • Accept-language: zh-CN, en-US
  • Cc: "xen-devel@xxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxx>
  • Delivery-date: Tue, 27 Jan 2015 09:05:14 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xen.org>
  • Thread-index: AQHQOgEZJAojM/0SR0ms3V7pYmFL1ZzTqLjA
  • Thread-topic: [Xen-devel] Some questions about Interrupt and event channel about Xen on ARM.

>>From: xen-devel-bounces@xxxxxxxxxxxxx 
>>[mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of ???
>>Sent: Tuesday, January 27, 2015 3:16 PM
>>To: xen-devel@xxxxxxxxxxxxx
>>Subject: [Xen-devel] Some questions about Interrupt and event channel about 
>>Xen on ARM.
>>I'm studying about Xen 4.4.0 and Xen 4.5.0 on ARM
>>I have some questions about Interrupt and event channel on ARM. 
>>In Xen 4.4.X and Xen 4.5.0 (GIC v2), all pirq(physical irq) are go to pcpu0 
>>(physical cpu). After pirq, Xen run in pcpu0 only inject virq(virtual irq) to 
>>vcpu0 of Dom0.
>>I think injection of virtual irq to proper vcpu carry out interrupt load 
>>balancing and reducing interrupt latency.
>>Why dose Xen only route virtual to vcpu0 of Dom0? For only simple??

I am not sure whether all pirqs will go to pcpu0 only or not,  could you tell 
me how do you  get this conclusion? 

About injecting virq to Dom0 after receiving pirq, I have learned some code on 
x86 platform, where all "virq" is injected into Dom0 through event channel. 
However, the destination vcpu can be set through corresponding smp-affinity in 
Dom0, which will call rebind_irq_to_cpu (drivers/xen/events/events_base.c) and 
finally through a EVTCHNOP_bind_vcpu hypercall to Hypervisor. So I think the 
virq can also inject to other vcpus in Dom0. P.S. the kernel of Dom0 I 
mentioned above is 3.17.4. Hope this is helpful for you.

>>Xen 4.5.0 support GiC v3. I saw code about GICv3 in Xen 4.5.0.
>>it seems that GICv3 add some virq interrupt routing interface such as 
>>and support irq migration. But i know that 'GICv3 Architecture Specification' 
>>release specification in later this year.
>>How can Xen 4.5.0 Developers get GICv3 Information and where can i get GICv3 
>>In Xen 4.4.0, Xen occur 'GIC_SGI_EVENT_CHECK' sgi interrupt to check event 
>>channel. After GIC_SGI_EVENT_CHECK sgi, 'leave_hypervisor_tail' function is 
>>executed on return path.
>>leave_hypervisor_tail function inject virq of event channel. 
>>But In Xen 4.5.0, After GIC_SGI_EVENT_CHECK sgi, leave_hypervisor_tail 
>>dosen't inject virq of event channel.
>>and There is no virq injection of event channel on return path. 
>>So I think, to send GIC_SGI_EVENT_CHECK sgi is meaning less in Xen 4.5.0.
>>Right?? Am i wrong?

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.