Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Jun 2005 00:41:07 +0200
From:      Jens Schweikhardt <schweikh@schweikhardt.net>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        freebsd-current@freebsd.org, phk@FreeBSD.org
Subject:   Re: Timekeeping hosed by factor 3, high lapic[01] interrupt rates
Message-ID:  <20050624224107.GA778@schweikhardt.net>
In-Reply-To: <200506241528.44124.jhb@FreeBSD.org>
References:  <20050516113420.GA786@schweikhardt.net> <20050624165002.GA860@schweikhardt.net> <200506241353.52383.jhb@FreeBSD.org> <200506241528.44124.jhb@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
John et al,

On Fri, Jun 24, 2005 at 03:28:42PM -0400, John Baldwin wrote:
# On Friday 24 June 2005 01:53 pm, John Baldwin wrote:
# > On Friday 24 June 2005 12:50 pm, Jens Schweikhardt wrote:
# > > On Thu, Jun 23, 2005 at 05:14:39PM -0400, John Baldwin wrote:
# > > ...
# > > # Ok.  What timecounter does your UP kernel use, and does your UP kernel
# > > break # if you change the timecounter to i8254?
# > >
# > > The UP uses the TSC:
# > > $ sysctl -a|grep timec
# > > kern.timecounter.stepwarnings: 0
# > > kern.timecounter.nbinuptime: 136311
# > > kern.timecounter.nnanouptime: 0
# > > kern.timecounter.nmicrouptime: 664
# > > kern.timecounter.nbintime: 1273
# > > kern.timecounter.nnanotime: 36
# > > kern.timecounter.nmicrotime: 1237
# > > kern.timecounter.ngetbinuptime: 405
# > > kern.timecounter.ngetnanouptime: 29
# > > kern.timecounter.ngetmicrouptime: 2534
# > > kern.timecounter.ngetbintime: 0
# > > kern.timecounter.ngetnanotime: 0
# > > kern.timecounter.ngetmicrotime: 5
# > > kern.timecounter.nsetclock: 2
# > > kern.timecounter.hardware: TSC
# > > kern.timecounter.choice: TSC(800) i8254(0) dummy(-1000000)
# > > kern.timecounter.tick: 1
# > > kern.timecounter.smp_tsc: 0
# > >
# > > When I do
# > >
# > > $ sysctl kern.timecounter.hardware=i8254
# > >
# > > on the UP the time dilation by factor 3 starts and the lapic rate
# > > increases. So yes, that breaks the UP kernel.
# >
# > Ok.  Can you try this untested patch?  It's mostly from phk and I haven't
# > yet tested it locally to make sure it doesn't break things:
# 
# Scratch that.

(This patch made time advance with 11-fold speed, lapic rates about 170...
interesting effects happen then ;-)

# I've reproduced this locally now on a testbox I have and had to 
# add a bugfix from phk to get it to work.  Here's the patch that works for me:

Sorry, does not work here; still time dilation in sleep 1 (MP case, no
sysctl kern.timecounter.hardware frobs):

$ vmstat -i
interrupt                          total       rate
irq1: atkbd0                         455          9
irq13: npx0                            1          0
irq14: ata0                           63          1
irq15: ata1                          109          2
irq18: em0                            15          0
irq24: ahd0                         4529         96
irq25: ahc0                           16          0
lapic0: timer                     272712       5802
lapic1: timer                     258021       5489
Total                             535921      11402

Regards,

	Jens
-- 
Jens Schweikhardt http://www.schweikhardt.net/
SIGSIG -- signature too long (core dumped)



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