lkml.org 
[lkml]   [2008]   [Nov]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: 2.6.28-rc2 hates my e1000e


    On Sat, 1 Nov 2008, Jonathan Corbet wrote:

    > Networking is fine in the absence of NFS. I retried things and
    > stress-tested it in a few ways with no trouble. I think your last patch
    > fixes the network card just fine.
    >
    > Then I tried NFS again, watching more closely this time around.
    > Everything locks up. In fact, the soft lockup watchdog starts to
    > scream:

    Interesting. I wonder why it happens for NFS, but not apparently for all
    your other modules.

    It does look very much like a ftrace issue, though, not NFS or
    network-related. Steven? Is this something that you are aware of already,
    with what looks like a lockup in ftrace_record_ip()?

    > So methinks I'll add Steven to the Cc on this one :) Looks like a
    > different problem for sure.

    Agreed. Looks unlikely to be related.

    > > Oh, and getting the old (2.6.27) and new (2.6.28-rc2+patch)
    > > /proc/iomem would be nice.
    >
    > For completeness, here they are.

    Wow. Your BIOS really does screw up massively. The one reserved region
    difference is:

    Old kernel (with lots of resources just re-assigned elsewhere):

    > e0000000-fed003ff : reserved
    > fec00000-fec00fff : IOAPIC 0
    > fed00000-fed003ff : HPET 0

    New kernel:

    > e0000000-fed003ff : reserved
    > fe800000-fe8fffff : PCI Bus 0000:01
    > fe9d9b00-fe9d9bff : 0000:00:1f.3
    > fe9d9c00-fe9d9fff : 0000:00:1a.7
    > fe9d9c00-fe9d9fff : ehci_hcd
    > fe9da000-fe9dafff : 0000:00:03.3
    > fe9db000-fe9dbfff : 0000:00:19.0
    > fe9db000-fe9dbfff : e1000e
    > fe9dc000-fe9dffff : 0000:00:1b.0
    > fe9dc000-fe9dffff : ICH HD audio
    > fe9e0000-fe9fffff : 0000:00:19.0
    > fe9e0000-fe9fffff : e1000e
    > fea00000-fea7ffff : 0000:00:02.0
    > fea80000-feafffff : 0000:00:02.1
    > feb00000-febfffff : 0000:00:02.0
    > fec00000-fec00fff : IOAPIC 0
    > fed00000-fed003ff : HPET 0

    ie the BIOS had marked a _lot_ of PCI allocations that it did as being
    reserved, and there was actually no partial overlap in your case. The old
    kernel would end up re-assigning all the resources (except for the magic
    non-PCI-BAR ones like the IOAPIC and the HPET) because of that BIOS
    reservation.

    I do think that the new layout looks better, and I also think that
    "insert_resource_expand_to_fit()" did a much better and more logical job
    than "reserve_region_with_split()" did. So it looks like an improvement. I
    wonder who else with have breakage though - EVERY SINGLE TIME we do
    resource allocation cleanups/fixes, some odd firmware inevtiably breaks.

    It's really sad. I worry that the old-style reserved handling hid bus
    where the firmware had assigned resources to insane locations (and then
    the reserved area code ended up forcing us to re-assign them to better
    ones). But my second patch at least -conceptually- makes sense, and
    obviously fixes your case, so I'm inclined to just commit it.

    And either of the above two resource listings look saner than the plain
    -rc2 version (using reserve_region_with_split):

    > e0000000-fe7fffff : reserved
    > fe800000-fe8fffff : PCI Bus 0000:01
    > fe800000-fe8fffff : reserved
    > fe900000-fe9d9aff : reserved
    > fe9d9b00-fe9d9bff : 0000:00:1f.3
    > fe9d9b00-fe9d9bff : reserved
    > fe9d9c00-fe9d9fff : 0000:00:1a.7
    > fe9d9c00-fe9d9fff : reserved
    > fe9da000-fe9dafff : 0000:00:03.3
    > fe9da000-fe9dafff : reserved
    > fe9db000-fe9dbfff : 0000:00:19.0
    > fe9db000-fe9dbfff : reserved
    > fe9dc000-fe9dffff : 0000:00:1b.0
    > fe9dc000-fe9dffff : reserved
    > fe9e0000-fe9fffff : 0000:00:19.0
    > fe9e0000-fe9fffff : reserved
    > fea00000-fea7ffff : 0000:00:02.0
    > fea00000-fea7ffff : reserved
    > fea80000-feafffff : 0000:00:02.1
    > fea80000-feafffff : reserved
    > feb00000-febfffff : 0000:00:02.0
    > feb00000-febfffff : reserved
    > fec00000-fed003ff : reserved
    > fec00000-fec00fff : IOAPIC 0
    > fed00000-fed003ff : HPET 0

    .. which is just really messy, but is the same e0000000-fed003ff
    "reserved" e820 entry just split and moved into each resource.

    I hate firmware.

    Linus


    \
     
     \ /
      Last update: 2008-11-01 18:19    [W:0.025 / U:0.348 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site