Re: [PATCH] Re: APIC/LAPIC hanging problems on nForce2 system.

From: Martin Drab
Date: Fri Jan 07 2005 - 06:49:27 EST




On Thu, 6 Jan 2005, Andrew Morton wrote:

> "Prakash K. Cheemplavam" <prakashkc@xxxxxx> wrote:
> >
> > Perhaps firfox fscked up the inlined patch, so please
> > try the attached version. If it goes alright, I'll resubmit it,
> > inlcuding more detailed description.
>
> There was no attachment.
>
> Please go ahead and prepare a final patch against Linus's latest tree. The
> simplest way to obtain that is via the topmost link at
> http://www.kernel.org/pub/linux/kernel/v2.5/testing/cset/.

That is strange. I got it with the attachment. I tried it and it applies
to the vanilla 2.6.10-bk9 just fine with

cd /usr/src/linux
patch -p0 <always_nforce2_c1_fix.patch

Maybe the problem is that the diff is done *inside the tree and so needs
to be applied in the /usr/src/linux (or whatever your linux directory is)
and with -p0 there. Usually patches have one level more, so you do it
there with -p1 or so. But otherwise it should apply. The section, that you
mentioned in the previous mail is exactly the one that it applies to (it
seems).

About the rationale. The problem was (as you may read in my previous mails
to LKML with this subject) that BIOS on my board (Gigabyte GA-7NNXP)
doesn't enable the C1 Halt Disconnect bit (bit 28 of the PCI reg. 0x6C).
The fix that really needs to be done in order for the C1 Halt Disconnect
to work properly, as you may read in the rationale of the original fixing
function, is changing the 3rd byte of that PCI.0x6C register from 0x0F to
0x01. Problem is that the original fixing function didn't apply the fix at
all when the C1 Halt Disconnect isn't set at the moment of calling the
fixing function (which is called only during bootup initialization of the
nForce2), and so when the C1 Halt Disconnect is enabled later (i.e., by
the athcool utility), the fix isn't applied and the whole system becomes
*VERY* unstable (at least it did for me - total freeze) on heavy interrupt
occurances (i.e., high network load, high HDD activity, etc.).

This patch really solves the problem for me and probably for others with
unfixed BIOS as well, and (though I'm not an nForce expert) I don't think
it may harm anyone, for whom it worked before, because except for that
little difference of applying even when C1 Halt Disconnect is disabled, it
does exactly the same thing.

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