Re: [PATCH v1 4/4] PCI: Allow extend_bridge_window() to shrink resource if necessary

From: Nicholas Johnson
Date: Wed Jan 15 2020 - 09:51:10 EST


On Mon, Jan 13, 2020 at 06:21:50PM +0200, Mika Westerberg wrote:
> On Wed, Jan 08, 2020 at 01:36:04AM +0000, Nicholas Johnson wrote:
> > > Where's the patch that changes the caller so "new_size" may be smaller
> > > than "size"? I guess it must be "[3/3] PCI: Consider alignment of
> > > hot-added bridges ..." because that's the only one that makes a
> > > non-trivial change, right?
> >
> > As above, there was always a possibility of the new_size being smaller.
> > For some reason, 1M is assigned to bridges, even if nothing is below
> > them (for example, unused non hotplug bridges in a Thunderbolt dock). It
> > may be an edge case if we are low on space, but theoretically it can
> > happen.
> >
> > Also, when writing this, Mika was not interested in using hpmemsize,
> > which, when used, will cause new_size to be smaller than the current
> > size (actual size and add_size combined).
>
> Just a small correction here about my motivation. So I'm testing on a
> hardware where the BIOS assigns initial resources to the root/downstream
> ports which is the majority of Thunderbolt capable PC systems nowadays.
> Therefore the user does not need to pass any additional command line
> parameters to get the ports working properly.
>
> However, I'm of course interested in getting Linux PCI resource
> management as good as possible regardless whether the firmware/BIOS
> assigns them or not ;-)
Sorry, I was not meant to say you were not interested in getting it as
good as possible. At the time, you had a goal to achieve (which you did)
and at that point in time, it would not have been feasible to use
pci=hpmemsize or similar before my patches were applied:

c13704f5685d ("PCI: Avoid double hpmemsize MMIO window assignment")
d7b8a217521c ("PCI: Add "pci=hpmmiosize" and "pci=hpmmioprefsize" parameters")

What I was trying to say was not that you were not interested, but more
that it was not a primary motivation for you at the time. Does this
sound more accurate? Poor wording on my behalf.