lkml.org 
[lkml]   [2006]   [Jun]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [ckpatch][15/29] hz-no_default_250.patch
> Make 250 HZ a value that is not selected by default and give some
> better recommendations in help.

No, 250 is a good default.

We can't reliably do 1000. There are many systems, including both
laptops and servers, which have a BIOS that uses SMM/SMI to grab
the CPU for longer than a millisecond. We'd lose clock ticks if
we had HZ at 1000.

NTSC video is 59.94 fields per second. Though a sample rate of
double that would satisfy the Nyquest theory, in practice you
need to go to 4x to 5x the rate you want. This comes out to be
around 240 to 300 as a minimum.

Then there is the matter of picking a value that is very close
to being an integer factor of the standard PC clock. I don't
remember how well 250 did, but here is the code I once used
to compute such things:

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <float.h>
#include <math.h>

// 1189200.0 // AMD ELAN
// 1193182.0 // normal

#define PITHZ 1193182.0

double nearbyint(double x);

#define TARGET_MAX 1300 // was 15000
#define TARGET_MIN 240 // was 9

int main(int argc, char *argv[]){
unsigned target = TARGET_MAX;
while(--target>TARGET_MIN){
st:;
unsigned setting = nearbyint(PITHZ / target);
double actual = PITHZ / setting;
double diff = actual - target;
double perc = 100.0*diff/target;
// if(target & 3) continue;
#if 1
if(target!=1000 && target !=1024 && target!=100 && target!=400 &&
target!=600
&& target!=1200 && target!=240 && target!=300 && target!=800
&& target!=512 && target!=256 && target!=128)
if(perc > 0.01 || perc < -0.01) continue;
#else
{
if(perc>-0.6 && perc<0.6) continue;
}
#endif
printf("%+11.8f %+10.6f %6u %5u %12.6f\n", perc, diff, setting,
target, actual);
}
if(target>105) {
target = 100;
goto st;
}
return 0;
}
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-06-19 02:55    [W:0.038 / U:0.156 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site