As suggested, split the changes into two patches. Patch 1 detaches and frees the device IOTLB when ACCESS_PLATFORM is cleared. The device and virtqueue IOTLB pointers, metadata caches, and acked features are updated while all virtqueue mutexes are held. It also drops old IOTLB miss messages and wakes readers.
Patch 2 keeps the current IOTLB when ACCESS_PLATFORM remains enabled, so a runtime logging update does not discard valid translations. Changes since v1: - discard the existing IOTLB instead of returning -EBUSY - serialize the switch against all virtqueues - clear old IOTLB messages and wake readers - move the existing-IOTLB preservation change to a separate patch Jia Jia (2): vhost/vsock: discard IOTLB when ACCESS_PLATFORM is cleared vhost/vsock: keep IOTLB across feature updates drivers/vhost/vsock.c | 46 +++++++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 6 deletions(-) -- 2.34.1

