[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] VMX status report. Xen:24911 & Dom0: d93dc5c4...
>>> On 14.03.12 at 07:08, "Ren, Yongjie" <yongjie.ren@xxxxxxxxx> wrote: >> -----Original Message----- >> From: xen-devel-bounces@xxxxxxxxxxxxx >> [mailto:xen-devel-bounces@xxxxxxxxxxxxx] On Behalf Of Jan Beulich >> Sent: Tuesday, March 13, 2012 7:34 PM >> To: Zhou, Chao >> Cc: xen-devel >> Subject: Re: [Xen-devel] VMX status report. Xen:24911 & Dom0: >> d93dc5c4... >> >> >>> On 13.03.12 at 10:18, "Zhou, Chao" <chao.zhou@xxxxxxxxx> wrote: >> > 1. when detaching a VF from hvm guest, "xl dmesg" will show some >> warning >> > information >> > http://bugzilla.xen.org/bugzilla/show_bug.cgi?id=1809 >> >> Could you give the qemu-traditional patch below a try (and report >> the resulting "xl dmesg" regardless of whether this eliminates the >> warning)? >> > Yes, we tried your below patch. The warning still exists. > Attached is the output of 'xl dmesg' after detaching a VF. Okay, so this apparently is an ordering problem: unregister_real_device() -> pt_config_delete() -> pt_msix_delete() (frees [and fails to clear] ->msix) -> pt_unregister_regions() -> _pt_iomem_helper() (with the patch below) -> has_msix_mapping() (uses ->msix) As it is obviously necessary to call _pt_iomem_helper() (rather than xc_domain_memory_mapping() directly) from pt_unregister_regions(), it needs to be determined whether - the calls to pt_config_delete() and pt_unregister_regions() can be swapped, or - the calling of pt_msix_delete() (and for consistency also the freeing of ->msi) can be moved into or past the call to pt_unregister_regions(), or - yet something else can be done about this. Jan >> --- a/hw/pass-through.c >> +++ b/hw/pass-through.c >> @@ -1969,11 +1969,9 @@ static void pt_unregister_regions(struct >> if ( type == PCI_ADDRESS_SPACE_MEM || >> type == PCI_ADDRESS_SPACE_MEM_PREFETCH ) >> { >> - ret = xc_domain_memory_mapping(xc_handle, domid, >> - assigned_device->bases[i].e_physbase >> >> XC_PAGE_SHIFT, >> - assigned_device->bases[i].access.maddr >> >> XC_PAGE_SHIFT, >> - (e_size+XC_PAGE_SIZE-1) >> XC_PAGE_SHIFT, >> - DPCI_REMOVE_MAPPING); >> + ret = _pt_iomem_helper(assigned_device, i, >> + >> assigned_device->bases[i].e_physbase, >> + e_size, >> DPCI_REMOVE_MAPPING); >> if ( ret != 0 ) >> { >> PT_LOG("Error: remove old mem mapping failed!\n"); >> >> >> >> _______________________________________________ >> Xen-devel mailing list >> Xen-devel@xxxxxxxxxxxxx >> http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |