Message ID | 1414865479-25792-1-git-send-email-prarit@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Bjorn Helgaas |
Headers | show |
[+cc lkml, linux-arch, Linus] On Sat, Nov 01, 2014 at 02:11:19PM -0400, Prarit Bhargava wrote: > The kernel should boot PCI without the use of kernel parameters. Display > a FW_BUG warning when pci= is used. > > Cc: Myron Stowe <mstowe@redhat.com> > Cc: linux-pci@vger.kernel.org > Signed-off-by: Prarit Bhargava <prarit@redhat.com> > --- > drivers/pci/pci.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c > index 625a4ac..5172060b 100644 > --- a/drivers/pci/pci.c > +++ b/drivers/pci/pci.c > @@ -4515,6 +4515,8 @@ static int __init pci_setup(char *str) > } > str = k; > } > + add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK); > + pr_crit(FW_BUG "The PCI configuration has been overridden thorugh the use of pci=. Please report the issue you are attempting to resolve to your hardware vendor.\n"); My goal is to be able to boot without any "pci=" parameters, so from that perspective, I like this. When people have a problem booting Linux, they often try a variety of things like "pci=assign-busses", "pci=nocrs", "pci=nomsi", "pci=nommconf", "pci=noacpi", etc. If they find something that works, there's a tendency to treat that as a "solution." I'd rather that they report it, so we can try to fix the bug or add a quirk so the *next* person won't have to figure out the right parameters to use. My worry is that there are a few things where Linux isn't smart enough to do the right thing automatically, and I don't think we'll have a good solution in the near future. For example: pci=norom pci=pcie_bus_perf,pcie_bus_safe,etc. pci=cbiosize=... pci=cbmemsize=... pci=resource_alignment=... pci=hpiosize=... pci=hpmemsize=... pci=realloc I don't like the fact that these options exist, but I suspect there are users that do depend on them and might find this warning too aggressive. So I'm interested in opinions on whether this is a good idea at all and whether we should exclude some options from the warning/tainting. Bjorn > return 0; > } > early_param("pci", pci_setup); > -- > 1.7.9.3 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Nov 10, 2014 at 8:59 PM, Bjorn Helgaas <bhelgaas@google.com> wrote: > [+cc lkml, linux-arch, Linus] > > On Sat, Nov 01, 2014 at 02:11:19PM -0400, Prarit Bhargava wrote: >> The kernel should boot PCI without the use of kernel parameters. Display >> a FW_BUG warning when pci= is used. >> >> Cc: Myron Stowe <mstowe@redhat.com> >> Cc: linux-pci@vger.kernel.org >> Signed-off-by: Prarit Bhargava <prarit@redhat.com> >> --- >> drivers/pci/pci.c | 2 ++ >> 1 file changed, 2 insertions(+) >> >> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >> index 625a4ac..5172060b 100644 >> --- a/drivers/pci/pci.c >> +++ b/drivers/pci/pci.c >> @@ -4515,6 +4515,8 @@ static int __init pci_setup(char *str) >> } >> str = k; >> } >> + add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK); >> + pr_crit(FW_BUG "The PCI configuration has been overridden thorugh the use of pci=. Please report the issue you are attempting to resolve to your hardware vendor.\n"); > > My goal is to be able to boot without any "pci=" parameters, so from that > perspective, I like this. > > When people have a problem booting Linux, they often try a variety of > things like "pci=assign-busses", "pci=nocrs", "pci=nomsi", "pci=nommconf", > "pci=noacpi", etc. If they find something that works, there's a tendency > to treat that as a "solution." I'd rather that they report it, so we can > try to fix the bug or add a quirk so the *next* person won't have to figure > out the right parameters to use. > > My worry is that there are a few things where Linux isn't smart enough to > do the right thing automatically, and I don't think we'll have a good > solution in the near future. For example: > > pci=norom > pci=pcie_bus_perf,pcie_bus_safe,etc. > pci=cbiosize=... > pci=cbmemsize=... > pci=resource_alignment=... > pci=hpiosize=... > pci=hpmemsize=... > pci=realloc > > I don't like the fact that these options exist, but I suspect there are > users that do depend on them and might find this warning too aggressive. > > So I'm interested in opinions on whether this is a good idea at all and > whether we should exclude some options from the warning/tainting. Hi Prarit, We didn't get any nibbles :) I don't think we can realistically taint the kernel for *all* "pci=" options. So if you want to pursue this, maybe you could enhance this so we can have a whitelist of options that we will support without tainting. Then we can argue about what should be on the list and go from there. Does that seem reasonable? This is a somewhat more aggressive use of tainting than we've had in the past, so we might have to iterate on this a bit. Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 11/17/2014 06:42 PM, Bjorn Helgaas wrote: > On Mon, Nov 10, 2014 at 8:59 PM, Bjorn Helgaas <bhelgaas@google.com> wrote: >> [+cc lkml, linux-arch, Linus] >> >> On Sat, Nov 01, 2014 at 02:11:19PM -0400, Prarit Bhargava wrote: >>> The kernel should boot PCI without the use of kernel parameters. Display >>> a FW_BUG warning when pci= is used. >>> >>> Cc: Myron Stowe <mstowe@redhat.com> >>> Cc: linux-pci@vger.kernel.org >>> Signed-off-by: Prarit Bhargava <prarit@redhat.com> >>> --- >>> drivers/pci/pci.c | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >>> index 625a4ac..5172060b 100644 >>> --- a/drivers/pci/pci.c >>> +++ b/drivers/pci/pci.c >>> @@ -4515,6 +4515,8 @@ static int __init pci_setup(char *str) >>> } >>> str = k; >>> } >>> + add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK); >>> + pr_crit(FW_BUG "The PCI configuration has been overridden thorugh the use of pci=. Please report the issue you are attempting to resolve to your hardware vendor.\n"); >> >> My goal is to be able to boot without any "pci=" parameters, so from that >> perspective, I like this. >> >> When people have a problem booting Linux, they often try a variety of >> things like "pci=assign-busses", "pci=nocrs", "pci=nomsi", "pci=nommconf", >> "pci=noacpi", etc. If they find something that works, there's a tendency >> to treat that as a "solution." I'd rather that they report it, so we can >> try to fix the bug or add a quirk so the *next* person won't have to figure >> out the right parameters to use. >> >> My worry is that there are a few things where Linux isn't smart enough to >> do the right thing automatically, and I don't think we'll have a good >> solution in the near future. For example: >> >> pci=norom >> pci=pcie_bus_perf,pcie_bus_safe,etc. >> pci=cbiosize=... >> pci=cbmemsize=... >> pci=resource_alignment=... >> pci=hpiosize=... >> pci=hpmemsize=... >> pci=realloc >> >> I don't like the fact that these options exist, but I suspect there are >> users that do depend on them and might find this warning too aggressive. >> >> So I'm interested in opinions on whether this is a good idea at all and >> whether we should exclude some options from the warning/tainting. > > Hi Prarit, > > We didn't get any nibbles :) > > I don't think we can realistically taint the kernel for *all* "pci=" > options. So if you want to pursue this, maybe you could enhance this > so we can have a whitelist of options that we will support without > tainting. Then we can argue about what should be on the list and go > from there. Does that seem reasonable? Sorry for the lower-case typing. I broke my elbow and am down to one hand. bjorn, yep sounds reasonable. i'll do this (slowly unfortunately because of my arm) ... P. > > This is a somewhat more aggressive use of tainting than we've had in > the past, so we might have to iterate on this a bit. > > Bjorn > -- > To unsubscribe from this list: send the line "unsubscribe linux-pci" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, Nov 18, 2014 at 5:42 AM, Prarit Bhargava <prarit@redhat.com> wrote: > Sorry for the lower-case typing. I broke my elbow and am down to one hand. > > bjorn, yep sounds reasonable. i'll do this (slowly unfortunately because of my > arm) ... Ouch, sorry to hear that. We need to get working on that direct mind-computer interface :) Hope your elbow heals well! Bjorn -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 625a4ac..5172060b 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -4515,6 +4515,8 @@ static int __init pci_setup(char *str) } str = k; } + add_taint(TAINT_FIRMWARE_WORKAROUND, LOCKDEP_STILL_OK); + pr_crit(FW_BUG "The PCI configuration has been overridden thorugh the use of pci=. Please report the issue you are attempting to resolve to your hardware vendor.\n"); return 0; } early_param("pci", pci_setup);
The kernel should boot PCI without the use of kernel parameters. Display a FW_BUG warning when pci= is used. Cc: Myron Stowe <mstowe@redhat.com> Cc: linux-pci@vger.kernel.org Signed-off-by: Prarit Bhargava <prarit@redhat.com> --- drivers/pci/pci.c | 2 ++ 1 file changed, 2 insertions(+)