2003-01-17 02:49:59

by john stultz

[permalink] [raw]
Subject: [PATCH] linux-2.5.59_timer-tsc-cleanup_A0

Linus, Andrew, All,
Just a resend/resync for 2.5.59. This patch cleans up the
timer_tsc code, removing the unused use_tsc variable and making
fast_gettimeoffset_quotient static.

Please apply.

thanks
-john


diff -Nru a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c
--- a/arch/i386/kernel/smpboot.c Thu Jan 16 18:46:42 2003
+++ b/arch/i386/kernel/smpboot.c Thu Jan 16 18:46:42 2003
@@ -182,8 +182,6 @@

#define NR_LOOPS 5

-extern unsigned long fast_gettimeoffset_quotient;
-
/*
* accurate 64-bit/32-bit division, expanded to 32-bit divisions and 64-bit
* multiplication. Not terribly optimized but we need it at boot time only
@@ -223,7 +221,8 @@

printk("checking TSC synchronization across %u CPUs: ", num_booting_cpus());

- one_usec = ((1<<30)/fast_gettimeoffset_quotient)*(1<<2);
+ /* convert from kcyc/sec to cyc/usec */
+ one_usec = cpu_khz / 1000;

atomic_set(&tsc_start_flag, 1);
wmb();
diff -Nru a/arch/i386/kernel/timers/timer_tsc.c b/arch/i386/kernel/timers/timer_tsc.c
--- a/arch/i386/kernel/timers/timer_tsc.c Thu Jan 16 18:46:42 2003
+++ b/arch/i386/kernel/timers/timer_tsc.c Thu Jan 16 18:46:42 2003
@@ -18,7 +18,6 @@

extern spinlock_t i8253_lock;

-static int use_tsc;
/* Number of usecs that the last interrupt was delayed */
static int delay_at_last_interrupt;

@@ -29,7 +28,7 @@
* Equal to 2^32 * (1 / (clocks per usec) ).
* Initialized in time_init.
*/
-unsigned long fast_gettimeoffset_quotient;
+static unsigned long fast_gettimeoffset_quotient;

static unsigned long get_offset_tsc(void)
{
@@ -277,7 +276,6 @@
unsigned long tsc_quotient = calibrate_tsc();
if (tsc_quotient) {
fast_gettimeoffset_quotient = tsc_quotient;
- use_tsc = 1;
/*
* We could be more selective here I suspect
* and just enable this for the next intel chips ?




2003-01-17 08:52:46

by Dominik Brodowski

[permalink] [raw]
Subject: Re: [PATCH] linux-2.5.59_timer-tsc-cleanup_A0

Hi John,

On Fri, Jan 17, 2003 at 09:47:33AM +0100, john stultz wrote:
> Linus, Andrew, All,
> Just a resend/resync for 2.5.59. This patch cleans up the
> timer_tsc code, removing the unused use_tsc variable and making
> fast_gettimeoffset_quotient static.

use_tsc is _not_ unused -- it's used at least in time_cpufreq_notifier (even
though time_cpufreq_notifier didn't introduce use_tsc, it's in there the
same way it's in 2.4. time.c ). So please don't remove it.

Dominik

2003-01-17 19:14:16

by john stultz

[permalink] [raw]
Subject: Re: [PATCH] linux-2.5.59_timer-tsc-cleanup_A0

On Fri, 2003-01-17 at 01:02, Dominik Brodowski wrote:
> Hi John,
>
> On Fri, Jan 17, 2003 at 09:47:33AM +0100, john stultz wrote:
> > Linus, Andrew, All,
> > Just a resend/resync for 2.5.59. This patch cleans up the
> > timer_tsc code, removing the unused use_tsc variable and making
> > fast_gettimeoffset_quotient static.
>
> use_tsc is _not_ unused -- it's used at least in time_cpufreq_notifier (even
> though time_cpufreq_notifier didn't introduce use_tsc, it's in there the
> same way it's in 2.4. time.c ). So please don't remove it.

<Groan> Oh yikes, that totally snuck by me.

Thanks for pointing that out, I'll remove the chance from my patch
immediately.

thanks again,
-dumbo^W-john