Date: Fri, 24 Dec 2010 16:49:50 +0200 From: Alexander Motin <mav@FreeBSD.org> To: Stefan Farfeleder <stefanf@FreeBSD.org> Cc: freebsd-current@freebsd.org Subject: Re: eventtimers hiccups Message-ID: <4D14B30E.3090609@FreeBSD.org> In-Reply-To: <20101224143124.GC2642@mole.fafoe.narf.at> References: <20101224143124.GC2642@mole.fafoe.narf.at>
next in thread | previous in thread | raw e-mail | index | archive | help
Hi, Stefan Farfeleder wrote: > since the new eventtimers code was committed, my notebook (Dell > Precision m4400) sometimes hangs for 10-30 seconds, mostly during load. > In these periods I can move the mouse pointer but time (as perceived by > time(1)) seems to be halted. This is accompanied by lots of calcru: > runtime went backwards message, though sometimes they only show up when > shutting down. > > I now set kern.eventtimer.periodic=1 and have not experienced such > freezes since then. But it would be nice if the default settigs would > work. Is there something I could do to help fixing this? > BTW, I'm not using powerd. Have you tried to look on what happens with your HPET interrupts during the problem? Is it timer hardware/driver problem, or something else? Have you tried to use LAPIC timer? - it has no race window between start and completion that may potentially stop HPET timer in some situations. Have you tried to enable kern.eventtimer.idletick? The best diagnostic would be to get KTR dump at the moment when problem begins. You should build kernel with options KTR options ALQ options KTR_ALQ options KTR_COMPILE=(KTR_SPARE2) options KTR_ENTRIES=131072 options KTR_MASK=(KTR_SPARE2) and as soon as problem begins (before logs wrapped) you should run `ktrdump -c -o dump`. Also you may try in file acpi_hpet.c change line if (fdiv < 5000) { to the if (fdiv < 50000) { . -- Alexander Motin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4D14B30E.3090609>