netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* bnx2 probe order change from 2.6.21 -> 2.6.24
@ 2008-04-10 15:44 Phil Oester
  2008-04-10 18:44 ` Jim Westfall
  2008-04-10 18:45 ` Michael Chan
  0 siblings, 2 replies; 6+ messages in thread
From: Phil Oester @ 2008-04-10 15:44 UTC (permalink / raw)
  To: netdev; +Cc: mchan

Apologies if this has been covered already, but I searched the archives and
couldn't find anything.

I recently upgraded a Dell Poweredge 1950 from 2.6.21 to 2.6.24, and found
that the onboard Broadcom NetXtreme II nics got probed in the reverse order.

2.6.21:

Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.5.8.1 (May 7, 2007)
ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 16 (level, low) -> IRQ 16
eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 0015c5eaef1c
ACPI: PCI Interrupt 0000:08:00.0[A] -> GSI 16 (level, low) -> IRQ 16
eth9: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 0015c5eaef1e

2.6.24:

Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.6.9 (December 8, 2007)
ACPI: PCI Interrupt 0000:08:00.0[A] -> GSI 16 (level, low) -> IRQ 16
eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 00:15:c5:ea:ef:1e
ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 16 (level, low) -> IRQ 16
udev: renamed network interface eth8 to eth9
eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 00:15:c5:ea:ef:1c


Is this known/expected?  Seems somewhat odd from both a MAC address
perspective (1c < 1e) and a PCI bus order (04 < 08).  Thoughts?

Phil

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: bnx2 probe order change from 2.6.21 -> 2.6.24
  2008-04-10 18:45 ` Michael Chan
@ 2008-04-10 17:54   ` Phil Oester
  2008-04-10 19:15     ` Michael Chan
  0 siblings, 1 reply; 6+ messages in thread
From: Phil Oester @ 2008-04-10 17:54 UTC (permalink / raw)
  To: Michael Chan; +Cc: netdev

On Thu, Apr 10, 2008 at 11:45:16AM -0700, Michael Chan wrote:
> On Thu, 2008-04-10 at 08:44 -0700, Phil Oester wrote:
> > I recently upgraded a Dell Poweredge 1950 from 2.6.21 to 2.6.24, and
> > found
> > that the onboard Broadcom NetXtreme II nics got probed in the reverse
> > order.
> 
> I know there is a difference in PCI probing order between 2.4 and 2.6
> kernels on x86 machines, but I'm not aware of changes in these 2 recent
> 2.6 kernels you mentioned above.  Various kernel parameters such as
> pci=nosort, pci=bfsort, pci=nobfsort can affect the order.  Are you
> using any of these?

No - nothing like that.  And the e1000 devices in the box (eth0 - 7) are probing
in the same order, which (perhaps incorrectly) leads me to believe it's not
PCI related, but specific to bnx2.

Phil

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: bnx2 probe order change from 2.6.21 -> 2.6.24
  2008-04-10 15:44 bnx2 probe order change from 2.6.21 -> 2.6.24 Phil Oester
@ 2008-04-10 18:44 ` Jim Westfall
  2008-04-16 15:51   ` Phil Oester
  2008-04-10 18:45 ` Michael Chan
  1 sibling, 1 reply; 6+ messages in thread
From: Jim Westfall @ 2008-04-10 18:44 UTC (permalink / raw)
  To: Phil Oester; +Cc: netdev, mchan

Phil Oester <kernel@linuxace.com> wrote [04.10.08]:
> Apologies if this has been covered already, but I searched the archives and
> couldn't find anything.
> 
> I recently upgraded a Dell Poweredge 1950 from 2.6.21 to 2.6.24, and found
> that the onboard Broadcom NetXtreme II nics got probed in the reverse order.
> 
> 2.6.21:
> 
> Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.5.8.1 (May 7, 2007)
> ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 16 (level, low) -> IRQ 16
> eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 0015c5eaef1c
> ACPI: PCI Interrupt 0000:08:00.0[A] -> GSI 16 (level, low) -> IRQ 16
> eth9: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 0015c5eaef1e
> 
> 2.6.24:
> 
> Broadcom NetXtreme II Gigabit Ethernet Driver bnx2 v1.6.9 (December 8, 2007)
> ACPI: PCI Interrupt 0000:08:00.0[A] -> GSI 16 (level, low) -> IRQ 16
> eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f4000000, IRQ 16, node addr 00:15:c5:ea:ef:1e
> ACPI: PCI Interrupt 0000:04:00.0[A] -> GSI 16 (level, low) -> IRQ 16
> udev: renamed network interface eth8 to eth9
> eth8: Broadcom NetXtreme II BCM5708 1000Base-T (B1) PCI-X 64-bit 133MHz found at mem f8000000, IRQ 16, node addr 00:15:c5:ea:ef:1c
> 
> 
> Is this known/expected?  Seems somewhat odd from both a MAC address
> perspective (1c < 1e) and a PCI bus order (04 < 08).  Thoughts?
> 

Hi

We ran into this issue as well when going from 2.6.20 to 2.6.23 on dell 
1950/2950s.

If you check your dmesg output from your older kernel you should see

PCI: Dell PowerEdge 1950 detected, enabling pci=bfsort.

With the newer kernel the code path that triggers the above is removed if 
you have ACPI enabled in the kernel.

We have been using the following patch which re-adds the code path to the 
ACPI PCI code.

thanks
jim


diff -ur linux-2.6.23.16-orig/arch/i386/pci/acpi.c linux-2.6.23.16-inap3/arch/i386/pci/acpi.c
--- linux-2.6.23.16-orig/arch/i386/pci/acpi.c   2008-02-10 22:06:32.000000000 -0800
+++ linux-2.6.23.16-inap3/arch/i386/pci/acpi.c  2008-02-21 16:27:19.000000000 -0800
@@ -2,9 +2,12 @@
 #include <linux/acpi.h>
 #include <linux/init.h>
 #include <linux/irq.h>
+#include <linux/dmi.h>
 #include <asm/numa.h>
 #include "pci.h"
 
+extern struct dmi_system_id __devinitdata pciprobe_dmi_table[];
+
 struct pci_bus * __devinit pci_acpi_scan_root(struct acpi_device *device, int domain, int busnum)
 {
        struct pci_bus *bus;
@@ -27,6 +30,7 @@
                return NULL;
        }
 
+       dmi_check_system(pciprobe_dmi_table);
        sd->node = -1;
 
        pxm = acpi_get_pxm(device->handle);
diff -ur linux-2.6.23.16-orig/arch/i386/pci/common.c linux-2.6.23.16-inap3/arch/i386/pci/common.c
--- linux-2.6.23.16-orig/arch/i386/pci/common.c 2008-02-10 22:06:32.000000000 -0800
+++ linux-2.6.23.16-inap3/arch/i386/pci/common.c        2008-02-21 16:27:19.000000000 -0800
@@ -145,7 +145,7 @@
 }
 #endif
 
-static struct dmi_system_id __devinitdata pciprobe_dmi_table[] = {
+struct dmi_system_id __devinitdata pciprobe_dmi_table[] = {
 #ifdef __i386__
 /*
 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: bnx2 probe order change from 2.6.21 -> 2.6.24
  2008-04-10 15:44 bnx2 probe order change from 2.6.21 -> 2.6.24 Phil Oester
  2008-04-10 18:44 ` Jim Westfall
@ 2008-04-10 18:45 ` Michael Chan
  2008-04-10 17:54   ` Phil Oester
  1 sibling, 1 reply; 6+ messages in thread
From: Michael Chan @ 2008-04-10 18:45 UTC (permalink / raw)
  To: Phil Oester; +Cc: netdev

On Thu, 2008-04-10 at 08:44 -0700, Phil Oester wrote:
> I recently upgraded a Dell Poweredge 1950 from 2.6.21 to 2.6.24, and
> found
> that the onboard Broadcom NetXtreme II nics got probed in the reverse
> order.

I know there is a difference in PCI probing order between 2.4 and 2.6
kernels on x86 machines, but I'm not aware of changes in these 2 recent
2.6 kernels you mentioned above.  Various kernel parameters such as
pci=nosort, pci=bfsort, pci=nobfsort can affect the order.  Are you
using any of these?


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: bnx2 probe order change from 2.6.21 -> 2.6.24
  2008-04-10 17:54   ` Phil Oester
@ 2008-04-10 19:15     ` Michael Chan
  0 siblings, 0 replies; 6+ messages in thread
From: Michael Chan @ 2008-04-10 19:15 UTC (permalink / raw)
  To: Phil Oester; +Cc: netdev

On Thu, 2008-04-10 at 10:54 -0700, Phil Oester wrote:
> On Thu, Apr 10, 2008 at 11:45:16AM -0700, Michael Chan wrote:
> > I know there is a difference in PCI probing order between 2.4 and 2.6
> > kernels on x86 machines, but I'm not aware of changes in these 2 recent
> > 2.6 kernels you mentioned above.  Various kernel parameters such as
> > pci=nosort, pci=bfsort, pci=nobfsort can affect the order.  Are you
> > using any of these?
> 
> No - nothing like that.  And the e1000 devices in the box (eth0 - 7) are probing
> in the same order, which (perhaps incorrectly) leads me to believe it's not
> PCI related, but specific to bnx2.
> 

The driver has no control over the ordering of these devices.  The PCI
layer scans the buses in the order it chooses and calls the driver's
probe method for every matching device that it finds.


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: bnx2 probe order change from 2.6.21 -> 2.6.24
  2008-04-10 18:44 ` Jim Westfall
@ 2008-04-16 15:51   ` Phil Oester
  0 siblings, 0 replies; 6+ messages in thread
From: Phil Oester @ 2008-04-16 15:51 UTC (permalink / raw)
  To: Jim Westfall; +Cc: netdev, mchan

On Thu, Apr 10, 2008 at 11:44:55AM -0700, Jim Westfall wrote:
> Phil Oester <kernel@linuxace.com> wrote [04.10.08]:
> > I recently upgraded a Dell Poweredge 1950 from 2.6.21 to 2.6.24, and found
> > that the onboard Broadcom NetXtreme II nics got probed in the reverse order.
> 
> We ran into this issue as well when going from 2.6.20 to 2.6.23 on dell 
> 1950/2950s.
> 
> If you check your dmesg output from your older kernel you should see
> 
> PCI: Dell PowerEdge 1950 detected, enabling pci=bfsort.
> 
> With the newer kernel the code path that triggers the above is removed if 
> you have ACPI enabled in the kernel.

Thanks.  This was caused by commit 08f1c192c3c32797068bfe97738babb3295bbf42
(x86-64: introduce struct pci_sysdata to facilitate sharing of ->sysdata).

I've sent something along to the kernel list.

Phil

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-04-16 15:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-10 15:44 bnx2 probe order change from 2.6.21 -> 2.6.24 Phil Oester
2008-04-10 18:44 ` Jim Westfall
2008-04-16 15:51   ` Phil Oester
2008-04-10 18:45 ` Michael Chan
2008-04-10 17:54   ` Phil Oester
2008-04-10 19:15     ` Michael Chan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).