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

Re: [Xen-devel] [RFC v1 14/15] Suppress posting interrupts when 'SN' is set




> -----Original Message-----
> From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx]
> Sent: Friday, March 27, 2015 9:49 PM
> To: Wu, Feng; xen-devel@xxxxxxxxxxxxx
> Cc: Zhang, Yang Z; Tian, Kevin; keir@xxxxxxx; JBeulich@xxxxxxxx
> Subject: Re: [Xen-devel] [RFC v1 14/15] Suppress posting interrupts when 'SN' 
> is
> set
> 
> On 27/03/15 13:45, Wu, Feng wrote:
> >
> >> -----Original Message-----
> >> From: Andrew Cooper [mailto:andrew.cooper3@xxxxxxxxxx]
> >> Sent: Friday, March 27, 2015 8:06 PM
> >> To: Wu, Feng; xen-devel@xxxxxxxxxxxxx
> >> Cc: Zhang, Yang Z; Tian, Kevin; keir@xxxxxxx; JBeulich@xxxxxxxx
> >> Subject: Re: [Xen-devel] [RFC v1 14/15] Suppress posting interrupts when
> 'SN' is
> >> set
> >>
> >> On 27/03/15 03:00, Wu, Feng wrote:
> >>>>>     static void vmx_deliver_posted_intr(struct vcpu *v, u8 vector)
> >>>>>     {
> >>>>> +    int r, sn;
> >>>>> +
> >>>>>         if ( pi_test_and_set_pir(vector, &v->arch.hvm_vmx.pi_desc) )
> >>>>>             return;
> >>>>>
> >>>>> +    /*
> >>>>> +     * Currently, we don't support urgent interrupt, all interrupts
> >>>>> +     * are recognized as non-urgent interrupt, so we cannot send
> >>>>> +     * posted-interrupt when 'SN' is set.
> >>>>> +     */
> >>>>> +
> >>>>> +    sn = pi_test_sn(&v->arch.hvm_vmx.pi_desc);
> >>>> Is there anywhere which sets sn at all? I cant spot anywhere.
> >>>>
> >>> SN is set in [13/15] while vCPU is going to runnable state.
> >> Then please do not set SN in the first place if we don't support it.
> >
> > What do you mean here. Setting 'SN' can suppress non-urgent interrupt. (we
> only support this)
> 
> Sorry, in which case patch 13 shouldn't clear SN then.
> 
> Either way - we should not be fixing up something in this patch which
> was introduced in the previous patch.

I think there are some misunderstanding here. 

- In patch 13, we need to set 'SN', so as to suppress the interrupts when vCPU
is in runnable state, since we don't need to send notification event then.
- Here in patch 14, it is another story. From hardware p.o.v, if 'SN' is set, 
it doesn't
send notification event. vmx_deliver_posted_intr() is the software way to 
delivery
posted-interrupts, so we need to follow the HW's behavior. Hence we check 'SN'
first, and not send notification event if it is set.

Thanks,
Feng

> 
> ~Andrew

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


 


Rackspace

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