From mboxrd@z Thu Jan 1 00:00:00 1970 From: Keir Fraser Subject: Re: Re: IRQs, move_in_progress, -EBUSY &c Date: Wed, 11 Aug 2010 19:18:41 +0100 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: quoted-printable 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: George Dunlap Cc: Fitzhardinge , "xen-devel@lists.xensource.com" , Jeremy, "Zhang, Xiantao" , Konrad Rzeszutek Wilk List-Id: xen-devel@lists.xenproject.org On 11/08/2010 18:49, "George Dunlap" wrote: > Seems to work about 50/50. >=20 > Attached is a log of a successful boot (exile.008.log), and a failed > boot (exile.009.log). Suspicious things about the failed case: the > usb code starts to initialize before the SATA code finishes > initializing, and complains that "Controller is probably using the > wrong IRQ". Cc'ing Xiantao Zhang, who submitted the per-CPU IDT patches. Perhaps he has some ideas how to fix this. The only other simple thing I can think to try is to modify my patch so that it loops in the hypervisor. Something like: do{ ret =3D mp_register_gsi(...}; } while (ret =3D=3D -EBUSY); Since the condition being EBUSYed on is cleared in hardirq context, that should be safe. Apart from that, it is possible that greater surgery is neede don the per-CPU IDT and IRQ migration logic, and I think we need Xiantao's help for that. -- Keir > Keir: the machine in question (as you may have guessed) is exile; let > me know if you want to grab it and use it directly. >=20 > -George >=20 > On Wed, Aug 11, 2010 at 4:59 PM, Keir Fraser > wrote: >> On 11/08/2010 15:56, "George Dunlap" wrote= : >>=20 >>> However, it seems that moving IRQs is not handled properly. =A0Either >>> the pvops kernel should retry if it gets an -EBUSY, or the hypercall >>> should not fail, but wait until it can return success. >>=20 >> Can you try the attached patch? >>=20 >> =A0Thanks, >> =A0Keir >>=20 >>> I discovered all this by adding debug statements to the IRQ path; the >>> patch is attached, if anyone else wants to use it. >>>=20 >>> =A0-George >>=20 >>=20 >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@lists.xensource.com >> http://lists.xensource.com/xen-devel >>=20 >>=20