Re: PCI BAR mem resource allocation "regression"

From: Linus Torvalds
Date: Sat Dec 13 2008 - 12:41:20 EST




On Sat, 13 Dec 2008, Linus Torvalds wrote:
>
> I'm missing some pieces I'd like to see: /proc/iomem before and after, and
> lspci output before and after (you do give lspci output, but only one, and
> I can't tell if it's before or after).
>
> Also, is it just the error message, or does it actually affect
> functionality?

Oh - one more thing. Your revert is very complex, and a simpler revert
(that _should_ revert just the actual behavioral change) is just the
two-liner that removes these two lines:

if ((first->start == new->start) && (first->end == new->end))
break;

in __insert_resource.

So can you check if your more complex revert really has the same behaviour
as just removing those two lines?

Matthew: I do suspect that the "insert below" patch is wrong. Look at
"pci_claim_resource()", for example: it uses insert_resource() to insert
the PCI device resource into the resource tree. But if the PCI device
resource has the same size as the bus window, that commit changes it to
insert it as the _parent_ of the bus window, no?

Of course, on a PC, the only user of pci_claim_resource() would be some
PCI quirks that should never trigger this, but it's an example of the kind
of behavioural change that that commit introduced, and which looks
like it could result in a wrong resource tree.

I'm not finding the original discussion that resulted in that patch,
though, so I have a somewhat hard time to judge the reasoning. It's from
almost three years ago, I don't remember details even if I had been
involved with it (and judging by the sign-off path, I hadn't).

Matthew, do you remember the context of that commmit d33b6fba2?

Linus
--
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/