Re: [PATCH v2] iommu/vt-d: fix system hang on reboot -f

Ethan Zhao
2025-02-28T00:51:26Z

On 2/28/2025 4:38 AM, Jason Gunthorpe wrote:
> On Thu, Feb 27, 2025 at 08:40:31AM +0800, Ethan Zhao wrote:
>> On 2/26/2025 9:04 PM, Jason Gunthorpe wrote:
>>> On Wed, Feb 26, 2025 at 01:55:28PM +0800, Ethan Zhao wrote:
>>>>> Provided the system does not respond to those events when this function
>>>>> is called, it's fine to remove the lock.
>>>> I agree.
>>> I think it is running the destruction of the iommu far too late in the
>>> process. IMHO it should be done after all the drivers have been
>>> shutdown, before the CPUs go single threaded.
>> Hmm... so far it is fine, the iommu_shutdown only has a little work to
>> do, disable the translation, the PMR disabling is just backward compatible,
>> was deprecated already. if we move it to one position where all CPUs are
>> cycling, we don't know what kind of user-land tasks left there (i.e. reboot -f
>> case), it would be hard to full-fill the requirement of Intel VT-d, no ongoing
>> transaction there on hardware when issue the translation disabling command.
> There is no guarentee device dma is halted anyhow at this point either.

The -f option to reboot command, suggests data corruption possibility.although

the IOMMU strives not to cross the transaction boundaries of its address
translation.

over all, we should make the reboot -f function works. not to hang
there. meanwhile

it doesn't break anything else so far.

Thanks,

Ethan

>
> Jason