On 05/11/2011 04:33, Alexander Motin wrote:
On 11.05.2011 08:17, Doug Barton wrote:
I had an interesting result doing nothing but switching from HPET to
LAPIC ... no crash. Still on the same version of -current (r221566) the
only thing I've done is to add kern.eventtimer.timer="LAPIC" to
/boot/loader.conf, and so far I haven't been able to get it to crash no
matter how much I compile, or how much other stuff I do in the
background. I _can_ get the system heavily loaded enough so that the
mouse can drag across the screen, windows take visible time to repaint,
etc. That happens with a load average of 4+ on this core 2 duo. But
other than that (which is not altogether unreasonable) the system has
been very stable for a couple of days now.

Does that suggest a next step in terms of what to test?

The fact that LAPIC is working fine can mean that problem is either HPET
specific or non-per-CPU timers specific. To check that you could try to
use i8254 timer in one-shot mode:
hint.attimer.0.timecounter=0
kern.eventtimer.timer="i8254"

, or use HPET in per-CPU mode:
hint.atrtc.0.clock=0
hint.attimer.0.clock=0
hint.hpet.X.legacy_route=1

But the most informative would be to see what's going on with HPET
interrupts during the freezes. With HPET hardware it is very easy to
loose interrupt. And the lost interrupt means problem for many things.
There are some workarounds made for that, but I can't be sure. For that
case you could experiment with this patch:
--- acpi_hpet.c.prev 2010-12-25 11:28:45.000000000 +0200
+++ acpi_hpet.c 2011-05-11 14:30:59.000000000 +0300
@@ -190,7 +190,7 @@ restart:
bus_write_4(sc->mem_res, HPET_TIMER_COMPARATOR(t->num),
t->next);
}
- if (fdiv < 5000) {
+ if (1 || fdiv < 5000) {
bus_read_4(sc->mem_res, HPET_TIMER_COMPARATOR(t->num));
now = bus_read_4(sc->mem_res, HPET_MAIN_COUNTER);

Ok, I'll try the patch sometime soon, lots going on right now. FYI, I had something odd happen tonight, the laptop had been up for about 36 hours, and it was idle for a while when I was afk for about an hour. When I came back, the system was off. Nothing in the logs, no core dump, but it definitely crashed because when I turned it back on the file systems were all dirty. This is still r221566 running LAPIC.

Interestingly I had pidgin running while it was idle, and a friend sent me an e-mail saying that he tried to IM me and as soon as he sent the message my status went from "away" to "off line." The time he sent the e-mail corresponds roughly to the last entry in the log before I rebooted it. I realize that this is not a lot to go on, but I thought I'd mention it.


Doug

--

        Nothin' ever doesn't change, but nothin' changes much.
                        -- OK Go

        Breadth of IT experience, and depth of knowledge in the DNS.
        Yours for the right price.  :)  http://SupersetSolutions.com/

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to