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

From: Ethan Zhao
Date: Thu Feb 27 2025 - 19:51:34 EST



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