On Tue, Jun 08, 2021 at 10:54:59AM +0200, Enrico Weigelt, metux IT consult wrote: > Maybe the device as well as the transport could announce their > capability (which IMHO should go via the virtio protocol), and if both > are capable, the (guest's) virtio subsys tells the driver whether it's > usable for a specific device. Perhaps we should also have a mechanism > to tell the device that it's actually used. The usage should be extremely narrow, like "If the driver issues a GPU command with flag X then the resulting DMAs will be no-snoop and the driver must re-establish coherency at the right moment" It is not a general idea, but something baked directly into the device protocol that virtio carries. The general notion of no-nsoop should ideally be carried in the PCIe extended config space flag. If 0 then no-snoop should never be issued, expected, or requested. Jason