From mboxrd@z Thu Jan 1 00:00:00 1970 From: Simon Horman Subject: Re: RE: [rfc 1/2] pt_irq_time_out() should act on all machine_irq Date: Tue, 10 Mar 2009 18:46:37 +1100 Message-ID: <20090310074637.GA6407@verge.net.au> References: <20090309090128.520709596@vergenet.net> <20090309091434.543270605@vergenet.net> <715D42877B251141A38726ABF5CABF2C0195B5C568@pdsmsx503.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <715D42877B251141A38726ABF5CABF2C0195B5C568@pdsmsx503.ccr.corp.intel.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "Han, Weidong" Cc: 'Yuji Shimada' , 'Xen-devel' , 'Keir Fraser' List-Id: xen-devel@lists.xenproject.org On Tue, Mar 10, 2009 at 03:40:21PM +0800, Han, Weidong wrote: > Simon Horman wrote: > > In pt_irq_time_out() the following code loops through all used > > guest_gsi: > > > > list_for_each_entry ( digl, &irq_map->digl_list, list ) > > { > > guest_gsi = digl->gsi; > > machine_gsi = dpci->girq[guest_gsi].machine_gsi; > > ... > > } > > > > And a little later on machine_gsi is used. > > That is the last machine_gsi found is used, > > rather than all of the machine_gsi that are found. > > > > This seems to be incorrect to me, > > but I am unsure of how to test this. > > > > Timer is set for each machine GSI, so all the machine_gsi found in loop > are the same. More than one devices may share machine GSI, but assume > they won't share guest gsi. digl_list contains all guest GSIs which are > correspond to this a machine GSI. Ok, thanks. I understand now. > > Now you want pass-throughed devices share guest gsi, you needs to change > it obviously. Your below change looks fine for me. Thanks -- Simon Horman VA Linux Systems Japan K.K., Sydney, Australia Satellite Office H: www.vergenet.net/~horms/ W: www.valinux.co.jp/en