WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

RE: [Xen-devel] Re: event delay issue on SMP machine when xen0 isSMPenab

To: "Li, Xin B" <xin.b.li@xxxxxxxxx>, "Li, Xin B" <xin.b.li@xxxxxxxxx>, "Keir Fraser" <Keir.Fraser@xxxxxxxxxxxx>
Subject: RE: [Xen-devel] Re: event delay issue on SMP machine when xen0 isSMPenabled
From: "Tian, Kevin" <kevin.tian@xxxxxxxxx>
Date: Fri, 9 Dec 2005 18:15:10 +0800
Cc: Ian Pratt <Ian.Pratt@xxxxxxxxxxxx>, Xen Mailing List <xen-devel@xxxxxxxxxxxxxxxxxxx>, Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>
Delivery-date: Fri, 09 Dec 2005 10:16:12 +0000
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: AcX8nHEjlG+38u2iTdubTrLZ9qM19wAAyS/wAAA/93AAAepO4A==
Thread-topic: [Xen-devel] Re: event delay issue on SMP machine when xen0 isSMPenabled
>From: Li, Xin B
>Sent: 2005年12月9日 17:18
>
>
>>>You always remember a good reason not to do something after
>>>sending the
>>>email. :-)
>>>
>>>IPIs and VIRQs must be processed by their home vcpu. Hence we do need
>>>to limit evtchn processing to the current bound vcpu, and that leads
>>>(currently) to the problem you see.
>>>
>>>So I think the right fix is just to fix unmask_evtchn(). Maybe
>>>you guys
>>>want to send a patch to move it into evtchn.c and fix it to send to
>>>cpu_from_evtchn(evtchn)?
>>>
>>
>>Since evtchn code is critical to xen, we are very careful when finding
>>any possible fixes :-)
>>Why not turn on cpu_evtchn_mask by default, and when calling
>>bind_evtchn_to_cpu, we turn off it on other cpus.
>>
>
>Or when binding interdomain evtchn in xen0, we turn on it on each cpu?
>-Xin

Another way may be to add a new EVTCHNOP_resend_event. Previously all unmask 
operations are done in guest, because existing code only modifies mask of 
current vcpu. If port to be unmasked is bound to other vcpu, it's uneasy to 
promise sanity in guest when trying to modify mask of another vcpu. By 
introducing new EVTCHNOP, we may take unmask_evtchn sequence as:

synch_clear_bit(port, &s->evtchn_mask[0]);
if (bound vcpu == smp_processor_id[]) {
        existing code
else {
        HYPERVISOR_event_channel_op(op.cmd = EVTCHNOP_resend_event, 
op.vcpu=bound vcpu, op.port=port)
}

Later Xen will not translate port to remote one since it's local domain, and 
try to re-send event to target vcpu. In this way, the missing event will be 
seen by target vcpu again. Is it the way? ;-)

Thanks,
Kevin

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel

<Prev in Thread] Current Thread [Next in Thread>
  • RE: [Xen-devel] Re: event delay issue on SMP machine when xen0 isSMPenabled, Tian, Kevin <=