On Fri, Sep 4, 2015 at 12:32 AM, Peio <peio@xxxxxxxxxxx> wrote: > Bjorn Helgaas <bhelgaas <at> google.com> writes: > >> This is a workaround, not a solution. It is not safe to use >> "pci=nocrs" in general because it can break things related to resource >> assignment, including hot-add of new devices. >> >> I haven't looked at the problem in detail, but if the BIOS gives us a >> _CRS with host bridge windows that are too small to accommodate all >> your devices, there's really nothing the kernel can do about it. You >> just have to regard it as a limitation of that platform. >> >> Bjorn >> > I'm sure itsn't a platform limitation, a BIOS issue assigning resources > instead. Yep. I include the BIOS in "the platform" because it's something we have no control over. > Anyway, It's a closed system, without hot-add or not own devices. > > I suspect this workaround is fine to me. OK. I didn't phrase the risk very well. When we use "pci=nocrs", we're ignoring the host bridge apertures the BIOS tells us about. That means Linux may assign resources outside of those apertures to PCI devices. They *might* work, but there's no guarantee that they will. This can affect devices present at boot as well as hot-added ones. If we were really smart, we might emit a warning when we assigned resources outside of the apertures, but that's probably more work than it's worth. If the workaround works for you, that's great and you should keep using it. I just don't want to propagate the idea that "pci=nocrs" is the general solution for anything. Ideally, a user should not have to use kernel parameters except for debugging or to work around hardware or firmware problems. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html