Date: Wed, 28 Jul 2010 09:09:19 +0200 From: Marius Strobl <marius@alchemy.franken.de> To: Alexander Motin <mav@FreeBSD.org> Cc: freebsd-sparc64@FreeBSD.org Subject: Re: [RFC] Event timers on sparc64/sun4v Message-ID: <20100728070919.GB75632@alchemy.franken.de> In-Reply-To: <4C46E3BB.7060204@FreeBSD.org> References: <4C404018.6040405@FreeBSD.org> <20100716213503.GT4706@alchemy.franken.de> <4C42A5B9.7080901@FreeBSD.org> <20100718142101.GY4706@alchemy.franken.de> <4C433391.4080808@FreeBSD.org> <20100719122423.GA4706@alchemy.franken.de> <4C44694C.9040108@FreeBSD.org> <4C46E3BB.7060204@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jul 21, 2010 at 03:10:35PM +0300, Alexander Motin wrote: > Alexander Motin wrote: > > Marius Strobl wrote: > >> On Sun, Jul 18, 2010 at 08:02:09PM +0300, Alexander Motin wrote: > >>> tick_et_start() status is not checked my MI code at the moment, as error > >>> handling in that case is not obvious. Do you like panic of printf there? > >> Ah, I haven't looked at the MI code to closely. No, it's not that > >> important, a printf should be sufficient for now, I just don't > >> want the check to get completely dropped. > > > > I better do it MI way. It's not so difficult. I am just thinking what > > better report from driver: allowed divisors, periods, or rounding function. > > Here is updated patch for latest HEAD, which should handle this: > http://people.freebsd.org/~mav/timers_sparc4.patch > > I also added support for STICK timecounter. For this moment with lowest > priority to not use it by default, until it is tested. > The patch looks ok and seems to work as expected on MP US-IIIi. However, I'd suggest to just use TICK_QUALITY_{M,U}P for the quality of the STICK timecounter but negated for now; I see no reason why the STICK timecounter should be of any other quality (from the hardware point of view) than the TICK one and whatever the solution is to make the TICK timecounter work with locks etc also needs to be applied to the STICK one (maybe on some machines the synchronicity across CPUs actually happens to be sufficient but I'd like to rather not make any assumptions about machines that f.e. group CPUs by coherency domain etc). A difference in behavior I noticed is that the TICK interrupt rate now is 2kHz (with HZ 1000). Why is that (I think that on x86 the timers ran at 2*HZ before though)? Marius
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100728070919.GB75632>