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/
Home Products Support Community News


Re: [Xen-devel] Re: IRQs, move_in_progress, -EBUSY &c

To: George Dunlap <George.Dunlap@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] Re: IRQs, move_in_progress, -EBUSY &c
From: Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
Date: Wed, 11 Aug 2010 19:18:41 +0100
Cc: Fitzhardinge <jeremy@xxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxx>, Jeremy, "Zhang, Xiantao" <xiantao.zhang@xxxxxxxxx>, Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Delivery-date: Wed, 11 Aug 2010 11:19:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <AANLkTikXxQFyA95yb7mPV9ppQ_8Xj7oThCww-e2xy2HN@xxxxxxxxxxxxxx>
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/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Thread-index: Acs5fY0qxGC0hStpRBe6emldZpulrQABBLyX
Thread-topic: [Xen-devel] Re: IRQs, move_in_progress, -EBUSY &c
User-agent: Microsoft-Entourage/
On 11/08/2010 18:49, "George Dunlap" <George.Dunlap@xxxxxxxxxxxxx> wrote:

> Seems to work about 50/50.
> 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 = mp_register_gsi(...}; } while (ret == -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

 -- 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.
>  -George
> On Wed, Aug 11, 2010 at 4:59 PM, Keir Fraser <keir.fraser@xxxxxxxxxxxxx>
> wrote:
>> On 11/08/2010 15:56, "George Dunlap" <George.Dunlap@xxxxxxxxxxxxx> wrote:
>>> However, it seems that moving IRQs is not handled properly.  Either
>>> the pvops kernel should retry if it gets an -EBUSY, or the hypercall
>>> should not fail, but wait until it can return success.
>> Can you try the attached patch?
>>  Thanks,
>>  Keir
>>> I discovered all this by adding debug statements to the IRQ path; the
>>> patch is attached, if anyone else wants to use it.
>>>  -George
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel

Xen-devel mailing list