On 4/26/2015 2:16 PM, Alex Williamson wrote: > On Sun, 2015-04-26 at 18:55 +0100, David Woodhouse wrote: >> On Sun, 2015-04-26 at 11:33 -0600, Alex Williamson wrote: >>> Curious why these weren't posted to the mailing list. >> >> Apologies for that. I was thinking of this tree as *only* collecting >> the stuff for SVM, and had mostly forgotten the bug-fixes. I was going >> to post the series once I had it all in better shape... and when it >> became apparent that SVM wasn't going to make it for 4.1 I wasn't >> actually going to push these early parts that *are* ready at all. But >> then I started getting badgered about the X2APIC_OPT_OUT nonsense. >> >>> This one in particular not only ignores RMRR on IGD, but any PCI >>> class display device. We may understand why IGD has RMRRs, but we >>> certainly don't understand enough to ignore RMRRs for other GPUs, >>> should they exist. >> >> If they exist, they'll exist for precisely the same reason — to let >> the graphics device continue to render its framebuffer after the IOMMU >> is turned on. >> >> For a discrete card with a discrete video BIOS, as opposed to chipset >> -integrated stuff, I suspect it's actually much *less* likely that >> there's any other weirdness going on. > > Hmm, we've seen RMRRs used for health monitoring and thermal control on > other devices. These are exactly the kinds of RMRR use cases that > causes us trouble via the IOMMU API. GPUs are potentially the smartest > and most power hungry peripherals in a system. I don't see how thermal > monitoring wouldn't be an attractive target for GPUs. Are you counting > on system vendors not having sufficient pull with the GPU vendors to > hack into their firmware?
I can't speak for other vendors or for other use cases of RMRR but while HP does use RMRRs for health and thermal monitoring for some devices, we don't for GPUs. Older releases of firmware had RMRRs for GPUs only because we had them for all slots. Firmware since about May 2013 no longer generates them for GPUs. A platform running old firmware may see an RMRR for a GPU but the memory region isn't being used. I assume that GPUs have other mechanisms for reporting health and thermal information to the platform but don't really know. I mention this because our use of RMRR has gotten attention in the past so I understand Alex's concern and wanted to clarify our use as it relates to GPUs. Other vendors may be doing other things so it may still be a valid concern. This is only a comment on the use case, not on the patch. > I had sort of envisioned that we'd need to > match the RMRRs to the use cases we know about for IGD to make sure > nothing sneaks by. We should at least be documenting what the expected > use cases are, the ranges involved, and why we can ignore them. I think that's a good idea. -- ljk > Thanks, > > Alex > > _______________________________________________ > iommu mailing list > [email protected] > https://lists.linuxfoundation.org/mailman/listinfo/iommu > _______________________________________________ iommu mailing list [email protected] https://lists.linuxfoundation.org/mailman/listinfo/iommu
