Re: [PATCH v13 10/12] PCI: Assign unassigned bus resources in pci_scan_root_bus()

From: Liviu Dudau
Date: Tue Sep 30 2014 - 04:54:24 EST


On Tue, Sep 30, 2014 at 12:08:49AM +0100, Bjorn Helgaas wrote:
> On Mon, Sep 29, 2014 at 4:31 PM, Benjamin Herrenschmidt
> <benh@xxxxxxxxxxxxxxxxxxx> wrote:
> > On Mon, 2014-09-29 at 15:33 -0600, Bjorn Helgaas wrote:
> >> > Right and on powerpc and others as well. We need to survey existing
> >> > resources. We also have a number of platform things that might need
> >> > to happen before we do the final re-assignment pass.
> >>
> >> That's true today. But I don't know whether it *has* to be this way
> >> forever. On x86, pcibios_resource_survey() throws in E820 information
> >> (which we know long before we do any PCI enumeration) and some IO-APIC
> >> resources (it looks like we also know these before PCI enumeration).
> >> Powerpc has pcibios_reserve_legacy_regions(), but that looks like
> >> mostly stuff that could be done when we find the host bridge, before
> >> we enumerate PCI devices below it.
> >
> > Oh we can probably change that but it's going to be much more work than
> > just moving the assignment into pci_scan_root_bus().
>
> Agreed. It's obvious that we can't apply Liviu's patch as-is.

Thanks everyone for the feedback!

Bjorn, you can drop this patch from the series if you want to add it to
your tree, and the host bridge drivers will have to reimplement pci_scan_root_bus()
for now (most do it already as they need to add msi information as well).

Benjamin, I still have on my ToDo list to convert powerpc. I might not be
able to do it successfully on my own (as I don't understand a lot of the
corner cases) but Bjorn is correct here in that pcibios_reserve_legacy_regions()
will move out of the scanning of the root bus.

>
> > There are also a
> > number of subtle and not-so-subtle bits of code that rely on side
> > effects of the current code such as anything that tests for bus->added
> > or dev->added. Again, nothing we can't sort out eventually but the
> > transition might be a bit painful.
> >
> > We might need to introduce a new flag for platforms converted to the
> > "new style" generalized resource assignment which we can deprecate once
> > everybody has moved over.
>
> There's definitely a lot of work here if we ever want to make this happen.

I know :)

Best regards,
Liviu

>
> Bjorn
>

--
====================
| I would like to |
| fix the world, |
| but they're not |
| giving me the |
\ source code! /
---------------
Â\_(ã)_/Â

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/