[asterisk-bugs] [Zaptel 0010314]: [patch] Merged in support for high resolution timers in kernel >=2.6.16

noreply at bugs.digium.com noreply at bugs.digium.com
Mon Aug 13 20:10:14 CDT 2007


A NOTE has been added to this issue. 
====================================================================== 
http://bugs.digium.com/view.php?id=10314 
====================================================================== 
Reported By:                darren1713
Assigned To:                
====================================================================== 
Project:                    Zaptel
Issue ID:                   10314
Category:                   ztdummy
Reproducibility:            always
Severity:                   feature
Priority:                   normal
Status:                     new
Zaptel Version:              SVN 
SVN Branch (only for SVN checkouts, not tarball releases): N/A  
SVN Revision (number only!): 2770 
Disclaimer on File?:        N/A 
Request Review:              
====================================================================== 
Date Submitted:             07-26-2007 18:36 CDT
Last Modified:              08-13-2007 20:10 CDT
====================================================================== 
Summary:                    [patch] Merged in support for high resolution timers
in kernel >=2.6.16
Description: 
The new high resolution timer in the kernel generates very accurate
periodic timing. Just using the kernel based timing gets these sorts of
results from ztdummy (99.999992% avg):

......
8192 samples in 8192.000000 sample intervals 100.000000%
8192 samples in 8192.008000 sample intervals 99.999908%
--- Results after 123 passes ---
Best: 100.000000 -- Worst: 99.999512 -- Average: 99.999992

The high resolution timer in ztdummy is only built if it's supported and
enabled in the kernel, and will continue to use the RTC timing if the high
resolution timers are not available. 

Specifically, CONFIG_HIGH_RES_TIMERS needs to be enabled (Processor type
and features -> High Resolution Timer Support), and optionally, (Processor
type and features -> HPET Timer Support) provides a better clock source.

There should be no side effects to this, since it's the new kernel
timers.

Adding an option into the "make menuselect" to force RTC instead if they
are both available would be a good addition. Configs/Makefiles are not my
fortay, so this would be better for someone else to do.

====================================================================== 

---------------------------------------------------------------------- 
 darren1713 - 08-13-07 20:10  
---------------------------------------------------------------------- 
I have included the printk rate limit and just fyi, I had done quite a bit
of testing with the software and hardware clock and it's affects on
CLOCK_MONOTONIC and CLOCK_REALTIME. I do agree that the MONOTONIC clock
makes more sense, but the documentation is pretty vague. The worst
situation that can happen with REALTIME is that a timer expires early. This
would mean a "quick" tick but nothing more. I couldn't for the life of me
get a timer to hang indefinately, as one would think with the way the
documentation is written. When I would set the software or hardware clock,
it would cause all the timers to expire and start over. Anyways, the last
patch is using CLOCK_REALTIME and has rate limiting on the printk. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
08-13-07 20:10  darren1713     Note Added: 0068804                          
======================================================================




More information about the asterisk-bugs mailing list