Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 7 Nov 2006 01:30:23 GMT
From:      Bruce Evans <bde@zeta.org.au>
To:        freebsd-i386@FreeBSD.org
Subject:   Re: i386/104678: SMP not working on Turion XP Laptop
Message-ID:  <200611070130.kA71UN4u001976@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR i386/104678; it has been noted by GNATS.

From: Bruce Evans <bde@zeta.org.au>
To: Andrew Pantyukhin <infofarmer@freebsd.org>
Cc: freebsd-gnats-submit@freebsd.org
Subject: Re: i386/104678: SMP not working on Turion XP Laptop
Date: Tue, 7 Nov 2006 12:25:40 +1100 (EST)

 On Mon, 6 Nov 2006, Andrew Pantyukhin wrote:
 
 > I experience the same on a Turion X2 laptop
 > with FreeBSD 7/amd64,
 
 On a similar laptop (HP nx6325 Turion X2 2GHz), I found 2 workarounds:
 
 1. Boot with battery power only.  Usually works.
 
 2. After forgetting (1), toggle AC power off and on.  Leave it off a
     few seconds.  Usually works after 1 iteration.
 
 Some symptoms:
 
 RELENG_6 GENERIC usually (appear to) hang after printing "ad4: ..."
 just before mounting root.  Hitting keys didn't seem to help.  However,
 about 1 time in 10, perhaps because I tried (1) or (2) accidentally,
 the boot just worked, so I knew that there was no major problem with
 ACPI.  RELENG_6 GENERIC kernels don't have SMP and boot fine without
 ACPI, so disabling ACPI is good enough for them.
 
 My specialized kernels happened to have a wrong ROOTDEVNAME hard-coded,
 so they acted like booting with -a.  They always have ddb, and debugging
 showed that everything was working at the time of asking the rootdev
 name.  Then a few steps later in the boot, critical interrupts mostly
 stop working.  Mainly the CPU timer interrupts.  A few of them apparently
 get through as side effects of other interrupts -- that's why pounding
 on the keyboard eventually makes progress.  Note that syscons only
 redraws the screen after a timeout, so when timeouts don't work the
 system appears to be more hung than it actually is.  My kernels all
 use HZ = 100 and some fixes for stathz and profhz being broken by this.
 This may make a difference here.
 
 At a lower level, some of the symptoms are:
 - break into ddb using Ctrl-Alt-Esc (some keys, including the normal
    debugger key Ctrl-SysReq, don't work on this laptop); put a breakpoint
    at hardclock(); give the "c" command to exit from ddb.  Then hardclock()
    is never reached unless you hit some keys or otherwise generate interrupts
    manually (ethernet interrupts don't seem to do it).
 - same, except put a breakpoint at lapic_handle_timer() too.  Now this
    breakpoint keeps getting hit, and one at hardclock() keeps getting
    hit too.  Programmed delays didn't seem to help, and I stopped trying
    them when I found workaround (1) while trying them.
 - "show intrcnt" shows most interrupts except timer ones seem to be working,
    but the timer interrupt rate drops from 1000*ncpu Hz to about 10 Hz
    max (probably because I can only type at about 10 Hz max).
 
 The misconfiguration apparently happens before stopping at the askname
 prompt, since turning AC power off (but not back on as in (2)) on
 reaching this prompt doesn't help and turning AC power on any time
 after reaching this prompt doesn't break the boot or subsequent
 operation.  Only forgetting to turn it back on breaks subsequent
 operation :).
 
 Some other (software) problems with this laptop:
 - no sleep states except S5 (shutdown) work right.  The next closest to
    working is the display switch.  It turns the display off but the
    system appears to hang for 1 second (+-10usec) and when it comes back
    the timecounter has lost 1 second but the cputicker (TSC) has kept track
    if the time perfectly.
 - bge0 appears to lose interrupts for at least nfs traffic.  Pinging with
    an interval of 0.01 seconds helps to keep the nfs traffic flowing.,
 
 > only I can't disable
 > APIC for obvious reasons. I'll post details
 > later, but we might need to reclassify this
 > bug again.
 
 I think the problem is in the HP BIOS, not in Turion X*'s.
 
 Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611070130.kA71UN4u001976>