Date: Tue, 7 Mar 2006 19:46:04 GMT From: John Baldwin <jhb@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 92932 for review Message-ID: <200603071946.k27Jk4NF022187@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=92932 Change 92932 by jhb@jhb_twclab on 2006/03/07 19:45:31 Don't try to catch rollovers during clock ticks. This seems to be unnecessary in practice (though sadly it means we are doing a lot of context switches, even when sitting idle in single user). Affected files ... .. //depot/projects/smpng/sys/alpha/alpha/clock.c#25 edit .. //depot/projects/smpng/sys/alpha/alpha/interrupt.c#39 edit .. //depot/projects/smpng/sys/alpha/include/md_var.h#10 edit .. //depot/projects/smpng/sys/kern/kern_tc.c#36 edit Differences ... ==== //depot/projects/smpng/sys/alpha/alpha/clock.c#25 (text+ko) ==== @@ -137,6 +137,7 @@ static void calibrate_clocks(u_int32_t firmware_freq, u_int32_t *pcc, u_int32_t *timer); static void set_timer_freq(u_int freq, int intr_freq); +static uint64_t read_cycle_count(void); void clockattach(device_t dev) ==== //depot/projects/smpng/sys/alpha/alpha/interrupt.c#39 (text+ko) ==== @@ -483,9 +483,6 @@ #endif if (platform.clockintr) { critical_enter(); - - /* Check for PCC roll-over. */ - (void)read_cycle_count(); #ifdef SMP /* * Only one processor drives the actual timer. ==== //depot/projects/smpng/sys/alpha/include/md_var.h#10 (text+ko) ==== @@ -84,7 +84,6 @@ int is_physical_memory(vm_offset_t addr); void machine_check(unsigned long, struct trapframe *, unsigned long, unsigned long); -uint64_t read_cycle_count(void); void regdump(struct trapframe *); void regtoframe(struct reg *, struct trapframe *); void set_iointr(void (*)(void *, unsigned long)); ==== //depot/projects/smpng/sys/kern/kern_tc.c#36 (text+ko) ==== @@ -115,7 +115,6 @@ #undef TC_STATS -static uint64_t tc_cpu_ticks(void); static void tc_windup(void); static void cpu_tick_calibrate(int); @@ -760,7 +759,6 @@ return; count = 0; tc_windup(); - (void)tc_cpu_ticks(); if (time_uptime != last_calib && !(time_uptime & 0xf)) { cpu_tick_calibrate(0); last_calib = time_uptime;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603071946.k27Jk4NF022187>