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

xen-devel

[Top] [All Lists]

Re: [Xen-devel] Machine hangs when doing pass-through of all the USB de

To: Simon Horman <horms@xxxxxxxxxxxx>
Subject: Re: [Xen-devel] Machine hangs when doing pass-through of all the USB devices on a Lenovo T400 - With xen-unstable
From: Tom Rotenberg <tom.rotenberg@xxxxxxxxx>
Date: 2009年7月27日 18:07:58 +0300
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: 2009年7月27日 08:09:04 -0700
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=gO8v/0pKJhC0aqiU9mO4Gn2WZURaQ0XOyvdNrp/991w=; b=hxTO+qGE+fX34tHSgqvYO5TyLcbrpdv/Oe89Oj7OulYuRKL6p28NOAcGA49E3h+xUr 7Mo3Q3dLyStTRwVUrCXu2W12SM2JK51+rUt++AQk4/Q+8Mraf6F2bO2JS69fvbGfb+OU WSLHe5JmuPipdZB8Q5b+Z4SCeA5p1VttjFAMo=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=R73ZUyA7fACBuCa2RiqWkHfRULmurx+S3PZSYP9ka7w/blrDuF6wR2mQ5oCfPmn9Tp 89jSfbiNcbvnWeVyXpLXIDQtvEYcIhwCfjEXbvSp9YfSIWs5IY+++jlM0h+RNebbwW7x 69DaDzdEDk6231CPSFKLW0WZRKGxG/YlQuYjw=
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <20090727115858.GA11917@xxxxxxxxxxxx>
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>
References: <8686c3cd0907260746y1232c2c2of9634ef1760e37d2@xxxxxxxxxxxxxx> <20090727115858.GA11917@xxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
Simon,
It looks like each one of your patches (when applied separately)
solved the problem. However, it looks like the first patch caused it
to work better (i didn't run real benchmarks tough).
Will u post a fix for this issue?
Tom
On Mon, Jul 27, 2009 at 2:59 PM, Simon Horman<horms@xxxxxxxxxxxx> wrote:
> On Sun, Jul 26, 2009 at 05:46:22PM +0300, Tom Rotenberg wrote:
>> Hi,
>>
>> Just to notify you all, i have tested the same scenario, on the latest
>> xen-unstable, and i got the same result - the machine hangs. It looks
>> like a major bug.
>> Can someone please help me with this?
>
> Hi Tom,
>
> this is a bit of a stab in the dark, but could you try each
> of the following patches _separately_ to see if they make any difference?
>
> 1)
>
> Allow virtual functions to use the legacy interrupt pin of the
> corresponding physical device.  This was already half-implemented, and I
> wonder if this missing piece is causing problems.
>
> Index: ioemu-remote/hw/pass-through.c
> ===================================================================
> --- ioemu-remote.orig/hw/pass-through.c 2009年07月27日 21:42:12.000000000 +1000
> +++ ioemu-remote/hw/pass-through.c      2009年07月27日 21:47:34.000000000 +1000
> @@ -2617,13 +2617,7 @@ static uint32_t pt_status_reg_init(struc
>  static uint32_t pt_irqpin_reg_init(struct pt_dev *ptdev,
>         struct pt_reg_info_tbl *reg, uint32_t real_offset)
>  {
> -    int reg_field = 0;
> -
> -    /* set Interrupt Pin register to use INTA# if it has */
> -    if (ptdev->dev.config[real_offset])
> -        reg_field = 0x01;
> -
> -    return reg_field;
> +    return ptdev->dev.config[real_offset];
>  }
>
>  /* initialize BAR */
>
> 2) Always use INTA everywhere. This should revert things to
>   they way they were before the multi-function changes.
>
>
> diff --git a/hw/pass-through.c b/hw/pass-through.c
> index f3d033b..cddfe5c 100644
> --- a/hw/pass-through.c
> +++ b/hw/pass-through.c
> @@ -4329,21 +4329,7 @@ int pt_init(PCIBus *e_bus)
>  */
>  static uint8_t pci_read_intx(struct pt_dev *ptdev)
>  {
> -    uint8_t r_val = pci_read_byte(ptdev->pci_dev, PCI_INTERRUPT_PIN);
> -
> -    PT_LOG("intx=%i\n", r_val);
> -    if (r_val < 1 || r_val > 4)
> -    {
> -        PT_LOG("Interrupt pin read from hardware is out of range: "
> -               "value=%i, acceptable range is 1 - 4\n", r_val);
> -        r_val = 0;
> -    }
> -    else
> -    {
> -        r_val -= 1;
> -    }
> -
> -    return r_val;
> +    return 0;
>  }
>
>  /*
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
<Prev in Thread] Current Thread [Next in Thread>
Previous by Date: Re: [Xen-devel] Unable to Configure Xen Dom 0 in Jeremy's PVOPS Kernel , Teo En Ming
Next by Date: [Xen-devel] Cpu pools discussion , George Dunlap
Previous by Thread: Re: [Xen-devel] Machine hangs when doing pass-through of all the USB devices on a Lenovo T400 - With xen-unstable , Simon Horman
Next by Thread: Re: [Xen-devel] Machine hangs when doing pass-through of all the USB devices on a Lenovo T400 - With xen-unstable , Simon Horman
Indexes: [Date] [Thread] [Top] [All Lists]

Copyright ©, Citrix Systems Inc. All rights reserved. Legal and Privacy
Citrix This site is hosted by Citrix

AltStyle によって変換されたページ (->オリジナル) /