Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

virtio-iommu: Introduce lazy mode domains and IOTLB_FLUSH request #204

Open
eauger opened this issue Sep 5, 2024 · 1 comment
Open

virtio-iommu: Introduce lazy mode domains and IOTLB_FLUSH request #204

eauger opened this issue Sep 5, 2024 · 1 comment

Comments

@eauger
Copy link

eauger commented Sep 5, 2024

At the moment the virtio-iommu offers MAP and UNMAP requests.
This means that if the virtio-iommu protects a device with an iotlb
we have no other choice but invalidating the device iotlb on UNMAP.
This proposal aims at allowing the decoupling of UNMAP commands
and domain IOTLB invalidations. This enables lazy mode where iotlb
invalidations are deferred and batched. In that prospect we add a
new VIRTIO_IOMMU_F_LAZY_IOTLB_FLUSH feature which, when offered
allows an endpoint to be attached to a domain in lazy mode. Alongside
we introduce a new IOTLB_FLUSH request which allows to invalidate
iotlb entries for the whole domain. When the domain is created in
lazy mode, the virtio-iommu device knows it will receive IOTLB_FLUSH
and it can avoid flushing the device IOTLB on individual UNMAPs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants
@eauger and others