All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergey Tovpeko <tsv.devel@gmail.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
Cc: "xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>
Subject: Re: xl: pci completion error
Date: Wed, 06 Oct 2010 17:08:45 +0400	[thread overview]
Message-ID: <4CAC74DD.3030703@gmail.com> (raw)
In-Reply-To: <alpine.DEB.2.00.1010061136220.2440@kaball-desktop>

Stefano Stabellini wrote:
> On Tue, 5 Oct 2010, Sergey Tovpeko wrote:
>   
>> Hello, list!
>>
>> xl reports the error on passthrough-ed pci device removing.
>>
>> do_pci_remove device 01:00.0
>> libxl: error: libxl_device.c:448:libxl__wait_for_device_model Device 
>> Model not ready
>> libxl: error: libxl_pci.c:858:do_pci_remove Device Model didn't respond 
>> in time
>> libxl: error: libxl.c:944:libxl_domain_destroy pci shutdown failed for 
>> domid 1
>> libxl: error: libxl.c:896:libxl_destroy_device_model Couldn't find 
>> device model's pid: No such file or directory
>> libxl: error: libxl.c:956:libxl_domain_destroy 
>> libxl_destroy_device_model failed for 1
>> libxl: error: libxl_device.c:307:libxl__devices_destroy 
>> /local/domain/1/device is empty
>>
>>
>>
>> It seems that libxl_pci didn't get the 'pci-removed' status from 
>> qemu-dm. Please, have a look  who should set this status in qemu-dm. As 
>> for me I added xenstore_record_dm_state("pci-removed");
>> after do_pci_del(par);
>> in xenstore_process_dm_command_event function.
>>
>> It fixed up my issue of removing pci devices.
>>     
>
> What guest OS are you using?
> Currently "pci-removed" is only written in response of an eject command
> from the guest OS, that means that if the guest doesn't support pci
> hotplug the value won't be written.
> If you are using Linux you should make sure that the acpiphp module is
> loaded, if you are using Windows, I think the only version that supports
> pci hotplug is Windows Server 2008 but I might be wrong.
>   

The guest is Windows XP sp2 32 bit.

When I do pci hot-unplug on the fly
xl pci-detach 11:0b.0
the guest detaches the pci card correctly with 'pci-removed' signal, but 
on the shutdown, it doesn't.

In the code the flow is the following:
qemu-dm receives the 'pci-rem' command and sends the SCI interrupt to 
the guest. I think guest should catch this interrupt and write to the 
magic ACPI port that causes qemu-dm send 'pci-removed' signal.

On guest shutdown,  libxl sends 'pci-rem' command to qemu-dm and waits 
for the answer.
I suppose, by the time 'pci-rem' signal my guest have finished its work, 
and doesn't react on SCI interrupt. As a result libxl doesn't receive 
pci-removed signal.

It's my observation.


Sergey.

  reply	other threads:[~2010-10-06 13:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-05 11:40 xl: pci completion error Sergey Tovpeko
2010-10-06 10:39 ` Stefano Stabellini
2010-10-06 13:08   ` Sergey Tovpeko [this message]
2010-10-06 13:54     ` Stefano Stabellini
2010-10-06 14:29       ` Gianni Tedesco
2010-10-06 16:36         ` Stefano Stabellini
2010-10-07 12:47         ` Sergey Tovpeko
2010-10-07 14:10           ` Gianni Tedesco
2010-10-08 10:15             ` Sergey Tovpeko
2010-10-08 10:36               ` Gianni Tedesco
2010-10-06 14:05   ` Gianni Tedesco

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4CAC74DD.3030703@gmail.com \
    --to=tsv.devel@gmail.com \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.