KVM only turns it into a noop if there is no VT-d, because with VT-d youWow, I found the kvm_arch_register_noncoherent_dma() stuff. That's horrifying. What's it for? e
might need it to turn mappings into uncached and vice versa.
e.g. if you want to run a GPU it really needs some uncached memory. Same is true for other more complex devices.
Now modern Linux of course will be preferring CLFLUSH instead for the conversion, but there are old versions that preferred WBINVD.
I don't think it's a DoS, as long as you're not too picky about latencies on the host.
-Andi