Messages in this thread | | | Date | Sat, 13 Dec 2008 09:41:05 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: PCI BAR mem resource allocation "regression" |
| |
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
| |