Re: [PATCH] Xen/PCI: correct notifier used for device removal

From: Jan Beulich
Date: Mon Feb 01 2016 - 08:08:46 EST


>>> On 01.02.16 at 14:03, <david.vrabel@xxxxxxxxxx> wrote:
> On 01/02/16 12:16, Jan Beulich wrote:
>>>>> On 01.02.16 at 13:01, <david.vrabel@xxxxxxxxxx> wrote:
>>> On 01/02/16 11:58, Jan Beulich wrote:
>>>> Commit 599bad38cf added BUS_NOTIFY_REMOVED_DEVICE in order to allow
>>>> avoiding removal of IOMMU mappings before the driver actually got
>>>> unbound from the device. Naturally we should be using this too.
>>>
>>> Because otherwise...? What happens if we don't make this change?
>>>
>>> Removing IOMMU mappings for a device when the driver is still bound to
>>> the device looks wrong to me. Surely the device is still active and may
>>> still be performing DMA at this point?
>>
>> Exactly - you answered your own question (as does the commit
>> referred to).
>
> I misread, sorry. I think I will reword this as:
>
> "Commit 599bad38cf added BUS_NOTIFY_REMOVED_DEVICE to defer the removal
> of IOMMU mappings until the driver has been unbound from the device
> (i.e., until it is guaranteed that there are no outstanding DMA
> transactions).

If you want this, then I think you should add "... or IRQs".

Thanks, Jan