From owner-p4-projects@FreeBSD.ORG Tue Mar 7 19:46:05 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 20B2E16A423; Tue, 7 Mar 2006 19:46:05 +0000 (GMT) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EB5C616A420 for ; Tue, 7 Mar 2006 19:46:04 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id B600443D46 for ; Tue, 7 Mar 2006 19:46:04 +0000 (GMT) (envelope-from jhb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.1/8.13.1) with ESMTP id k27Jk49N022190 for ; Tue, 7 Mar 2006 19:46:04 GMT (envelope-from jhb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.1/8.13.1/Submit) id k27Jk4NF022187 for perforce@freebsd.org; Tue, 7 Mar 2006 19:46:04 GMT (envelope-from jhb@freebsd.org) Date: Tue, 7 Mar 2006 19:46:04 GMT Message-Id: <200603071946.k27Jk4NF022187@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jhb@freebsd.org using -f From: John Baldwin To: Perforce Change Reviews Cc: Subject: PERFORCE change 92932 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 07 Mar 2006 19:46:06 -0000 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;