|
From: | Paolo Bonzini |
Subject: | Re: [Qemu-devel] [PATCH 02/38] pci: split exit and finalize |
Date: | Tue, 17 Sep 2013 12:23:48 +0200 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8 |
Il 17/09/2013 11:56, Paolo Bonzini ha scritto: > Yes. do_pci_unregister_device marks the point where the guest will not > be able to submit new requests to the device, but there may be previous > requests pending. because you could have something like this: Michael pointed out offlist that the previous example involved the address_space_map bounce buffer. Here is a simpler one that doesn't rely on it: VCPU 1 VCPU 2 ---------------------------------------------------- start asynchronous I/O pci_dma_sglist_init object_ref ** releases BQL eject device object_unparent my_device_exit memory_region_del_subregion ** cannot yet destroy!! ** address_space_unmap will use it ** gets BQL again asynchronous I/O ends qemu_sglist_destroy object_unref instance_finalize Paolo
[Prev in Thread] | Current Thread | [Next in Thread] |