Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 May 2011 23:19:25 -0700
From:      Doug Barton <dougb@FreeBSD.org>
To:        Alexander Motin <mav@FreeBSD.org>
Cc:        freebsd-current@FreeBSD.org
Subject:   Re: My problems with stability on -current
Message-ID:  <4DCB7BED.1080805@FreeBSD.org>
In-Reply-To: <4DCA73F6.70707@FreeBSD.org>
References:  <4DC25396.1070909@dougbarton.us> <4DCA1C06.6040505@FreeBSD.org> <4DCA73F6.70707@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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/




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