From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Lagar-Cavilla Subject: Re: do_iret bug in xen Date: Tue, 27 Nov 2007 16:50:35 -0500 Message-ID: <474C912B.2040401@cs.toronto.edu> References: Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: xen-devel@lists.xensource.com Cc: ashish.bijlani@gmail.com, Daniel Stodden List-Id: xen-devel@lists.xenproject.org raise_softirq is not the same as actually doing it. Raise only sets a bit indicating pending softirq. Before returning to the guest, the bin triggers actual execution of the softirq Andres since "sti" is on, an interrupt can occur which can cause the control to enter "__runq_tickle", which then invokes "cpumask_raise_softirq(mask, SCHEDULE_SOFTIRQ)" to send IPI to a processor causing the control to enter "__enter_scheduler" which changes the current.