Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 21 Jun 2010 23:46:11 +0300
From:      Alexander Motin <mav@FreeBSD.org>
To:        Kostik Belousov <kostikbel@gmail.com>
Cc:        svn-src-head@FreeBSD.org, svn-src-all@FreeBSD.org, src-committers@FreeBSD.org
Subject:   Re: svn commit: r209371 - in head/sys: amd64/amd64 amd64/include conf dev/acpica i386/i386 i386/include isa kern pc98/cbus sys x86/isa x86/x86
Message-ID:  <4C1FCF93.9000703@FreeBSD.org>
In-Reply-To: <20100621203419.GK13238@deviant.kiev.zoral.com.ua>
References:  <201006202133.o5KLXTG1023067@svn.freebsd.org> <20100621195838.GJ13238@deviant.kiev.zoral.com.ua> <4C1FC6C1.5060800@FreeBSD.org> <4C1FC6E1.4080001@FreeBSD.org> <20100621203419.GK13238@deviant.kiev.zoral.com.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
Kostik Belousov wrote:
> On Mon, Jun 21, 2010 at 11:09:05PM +0300, Alexander Motin wrote:
>> Alexander Motin wrote:
>>> Kostik Belousov wrote:
>>>> On Sun, Jun 20, 2010 at 09:33:29PM +0000, Alexander Motin wrote:
>>>>> Author: mav
>>>>> Date: Sun Jun 20 21:33:29 2010
>>>>> New Revision: 209371
>>>>> URL: http://svn.freebsd.org/changeset/base/209371
>>>>>
>>>>> Log:
>>>>>   Implement new event timers infrastructure. It provides unified APIs for
>>>>>   writing event timer drivers, for choosing best possible drivers by machine
>>>>>   independent code and for operating them to supply kernel with hardclock(),
>>>>>   statclock() and profclock() events in unified fashion on various hardware.
>>>> This broke QEMU for me. I cannot boot FreeBSD guest under QEMU anymore.
>>>> QEMU (not FreeBSD kernel) panics with
>>>> qemu: level-triggered hpet not supported
>>>> message.
>>> According to specification, it is not optional. No more cookies!
> Is there a way to disable hpet at all ? It would be fine with me.
> Does hint below supposed to do this ?

Yes. Hint below disables HPET event timers, leaving only time counter
part, almost same as it was before.

>>>> Setting kern.eventtimer.timer1 to LAPIC or i8254, and timer2 to NONE
>>>> does not help.
>>> Try `hint.apic.0.clock=0` and send me verbose dmesg, I'll try to make
>>> workaround if possible.
>> Sorry, 'hint.hpet.0.clock=0'.
>>
> Setting the hint results in
> panic: lock (time lock) sleep mutex does not match earlier (spin mutex) lock,
> with the backtrace
> enroll()
> witness_init()
> lock_init()
> mtx_init()
> initclocks()
> mi_startup()
> (transribed by hand).

I am surprised that none of my systems fired it. Try this:

--- subr_witness.c.prev 2010-06-17 14:07:36.000000000 +0300
+++ subr_witness.c      2010-06-21 23:43:14.000000000 +0300
@@ -495,6 +495,7 @@ static struct witness_order_list_entry o
 #ifdef HWPMC_HOOKS
        { "pmc-sleep", &lock_class_mtx_sleep },
 #endif
+       { "time lock", &lock_class_mtx_sleep },
        { NULL, NULL },
        /*
         * Sockets
@@ -654,7 +655,6 @@ static struct witness_order_list_entry o
        { "callout", &lock_class_mtx_spin },
        { "entropy harvest mutex", &lock_class_mtx_spin },
        { "syscons video lock", &lock_class_mtx_spin },
-       { "time lock", &lock_class_mtx_spin },
 #ifdef SMP
        { "smp rendezvous", &lock_class_mtx_spin },
 #endif

-- 
Alexander Motin



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