[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Ping: Re: VMX status report. Xen:24911 & Dom0: d93dc5c4...
>>> On 15.03.12 at 11:12, "Jan Beulich" <JBeulich@xxxxxxxx> wrote: >>>> 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. I'd really appreciate some advice here. 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 |