From: "Rafael J. Wysocki" <rjw@sisk.pl>
To: Yinghai Lu <yinghai@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
LKML <linux-kernel@vger.kernel.org>,
Tony Luck <tony.luck@intel.com>, "H. Peter Anvin" <hpa@zytor.com>,
Jiang Liu <liuj97@gmail.com>,
Myron Stowe <myron.stowe@redhat.com>
Subject: Re: [Alternative][PATCH] ACPI / PCI: Set root bridge ACPI handle in advance
Date: Thu, 27 Dec 2012 13:47:22 +0100 [thread overview]
Message-ID: <1723076.byQgAGE2K7@vostro.rjw.lan> (raw)
In-Reply-To: <CAE9FiQWpAvgam3t7isFcZOz+OEe4D4QJxBbqcbiqMJVwJz=-8A@mail.gmail.com>
On Wednesday, December 26, 2012 04:10:32 PM Yinghai Lu wrote:
> On Wed, Dec 26, 2012 at 2:36 PM, Rafael J. Wysocki <rjw@sisk.pl> wrote:
> > On Wednesday, December 26, 2012 12:41:05 PM Yinghai Lu wrote:
> >> On Wed, Dec 26, 2012 at 12:16 PM, Yinghai Lu <yinghai@kernel.org> wrote:
> >> > On Wed, Dec 26, 2012 at 12:10 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> >> >> Do you have a reference for this? I think this might have been true
> >> >> in the past, but I don't think it's true for any version of gcc we
> >> >> support for building Linux.
> >> >
> >> > http://lkml.indiana.edu/hypermail/linux/kernel/0804.3/3600.html
> >>
> >> the problem is already addressed by:
> >>
> >> | commit f9d14250071eda9972e4c9cea745a11185952114
> >> | Author: Linus Torvalds <torvalds@linux-foundation.org>
> >> | Date: Fri Jan 2 09:29:43 2009 -0800
> >> |
> >> | Disallow gcc versions 4.1.{0,1}
> >> |
> >> | These compiler versions are known to miscompile __weak functions and
> >> | thus generate kernels that don't necessarily work correctly. If a weak
> >> | function is int he same compilation unit as a caller, gcc may end up
> >> | inlining it, and thus binding the weak function too early.
> >> |
> >> | See
> >> |
> >> | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27781
> >> |
> >> | for details.
> >>
> >> so it is ok to put the __weak in the same file now.
> >
> > Cool, thanks for checking and for the ACK!
>
> wait, we have some problem on systems that root bus is not exported via DSDT ...
>
> one of my nehalem system that have uncore cpu devices are not exported via ACPI.
>
> also there will be problem that system is booting with acpi=off.
>
>
> +int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
> +{
> + struct pci_sysdata *sd = bridge->bus->sysdata;
> + struct pci_root_info *info = container_of(sd, struct pci_root_info, sd);
> +
> + ACPI_HANDLE_SET(&bridge->dev, info->bridge->handle);
> + return 0;
> +}
>
> will get wrong info...via sd... as their sd is standalone
Yes, it will be called in all code paths leading to acpi_create_root_bus(),
not only the ones started by pci_acpi_scan_root(). Well, too bad.
By the way, that illustrates nicely why I generally have concerns about __weak
stuff and similar tricks.
Bjorn, I had tried to use the approach you suggested, but it didn't work.
I thought about fixing that, but everything I could come up with turned out to
be too complicated, so I'm inclined to use the previous version after all:
https://patchwork.kernel.org/patch/1889221/
that has been acked by Yinghai, Greg and Peter already.
Thanks,
Rafael
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
next prev parent reply other threads:[~2012-12-27 12:47 UTC|newest]
Thread overview: 54+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-16 22:25 [PATCH] ACPI / PCI: Set root bridge ACPI handle in advance Rafael J. Wysocki
2012-12-17 5:27 ` Yinghai Lu
2012-12-17 7:51 ` Rafael J. Wysocki
2012-12-17 8:09 ` Yinghai Lu
2012-12-17 12:13 ` Rafael J. Wysocki
2012-12-17 12:20 ` [Update][PATCH] " Rafael J. Wysocki
2012-12-17 17:24 ` Yinghai Lu
2012-12-17 23:13 ` Rafael J. Wysocki
2012-12-17 18:44 ` Greg Kroah-Hartman
2012-12-17 23:14 ` Rafael J. Wysocki
2012-12-17 23:30 ` [Update 2][PATCH] " Rafael J. Wysocki
2012-12-19 6:00 ` Zheng, Lv
2012-12-19 10:50 ` Rafael J. Wysocki
2012-12-20 21:13 ` Bjorn Helgaas
2012-12-20 21:19 ` H. Peter Anvin
2012-12-20 22:56 ` Rafael J. Wysocki
2012-12-21 0:25 ` Bjorn Helgaas
2012-12-25 22:42 ` [Alternative][PATCH] " Rafael J. Wysocki
2012-12-26 18:14 ` Bjorn Helgaas
2012-12-26 22:35 ` Rafael J. Wysocki
2012-12-26 20:04 ` Yinghai Lu
2012-12-26 20:10 ` Bjorn Helgaas
2012-12-26 20:16 ` Yinghai Lu
2012-12-26 20:41 ` Yinghai Lu
2012-12-26 22:36 ` Rafael J. Wysocki
2012-12-27 0:10 ` Yinghai Lu
2012-12-27 12:47 ` Rafael J. Wysocki [this message]
2012-12-27 13:31 ` Rafael J. Wysocki
2012-12-27 21:25 ` Rafael J. Wysocki
2012-12-27 21:32 ` [Alternative 2][PATCH] " Rafael J. Wysocki
2013-01-02 23:07 ` Bjorn Helgaas
2013-01-03 0:40 ` Rafael J. Wysocki
2013-01-03 12:11 ` Rafael J. Wysocki
2013-01-03 21:23 ` Rafael J. Wysocki
2013-01-03 22:13 ` Bjorn Helgaas
2013-01-03 22:56 ` Rafael J. Wysocki
2013-01-04 1:00 ` Bjorn Helgaas
2013-01-04 11:38 ` Rafael J. Wysocki
2013-01-05 0:03 ` Yinghai Lu
2013-01-05 0:14 ` Rafael J. Wysocki
2013-01-05 0:19 ` Yinghai Lu
2013-01-05 0:36 ` Bjorn Helgaas
2013-01-05 0:54 ` Rafael J. Wysocki
2013-01-03 20:44 ` Rafael J. Wysocki
2013-01-09 21:33 ` [Alternative][PATCH] ACPI / PCI: Set root bridge ACPI handle in advance, v2 Rafael J. Wysocki
2013-01-09 22:16 ` Bjorn Helgaas
2013-01-09 23:06 ` Rafael J. Wysocki
2013-01-09 23:27 ` Yinghai Lu
2013-01-10 0:05 ` Rafael J. Wysocki
2013-01-11 21:53 ` Rafael J. Wysocki
2013-01-11 23:01 ` Yinghai Lu
2013-01-10 22:54 ` Yinghai Lu
2013-01-10 23:40 ` Rafael J. Wysocki
2013-01-11 12:27 ` Rafael J. Wysocki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1723076.byQgAGE2K7@vostro.rjw.lan \
--to=rjw@sisk.pl \
--cc=bhelgaas@google.com \
--cc=gregkh@linuxfoundation.org \
--cc=hpa@zytor.com \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=liuj97@gmail.com \
--cc=myron.stowe@redhat.com \
--cc=tony.luck@intel.com \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox