From owner-p4-projects Wed Aug 28 20:21:42 2002 Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 40C0637B408; Wed, 28 Aug 2002 20:21:34 -0700 (PDT) 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 D6D3C37B401 for ; Wed, 28 Aug 2002 20:21:33 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id BB6AD43E72 for ; Wed, 28 Aug 2002 20:21:32 -0700 (PDT) (envelope-from peter@freebsd.org) Received: from freefall.freebsd.org (perforce@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7T3LWJU060753 for ; Wed, 28 Aug 2002 20:21:32 -0700 (PDT) (envelope-from peter@freebsd.org) Received: (from perforce@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7T3LWmo060749 for perforce@freebsd.org; Wed, 28 Aug 2002 20:21:32 -0700 (PDT) Date: Wed, 28 Aug 2002 20:21:32 -0700 (PDT) Message-Id: <200208290321.g7T3LWmo060749@freefall.freebsd.org> X-Authentication-Warning: freefall.freebsd.org: perforce set sender to peter@freebsd.org using -f From: Peter Wemm Subject: PERFORCE change 16739 for review To: Perforce Change Reviews Sender: owner-p4-projects@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG http://people.freebsd.org/~peter/p4db/chv.cgi?CH=16739 Change 16739 by peter@peter_mckinley on 2002/08/28 20:21:10 record per-cpu interrupt counts and export it via sysctl arrays. Affected files ... .. //depot/projects/ia64/sys/ia64/ia64/interrupt.c#14 edit Differences ... ==== //depot/projects/ia64/sys/ia64/ia64/interrupt.c#14 (text+ko) ==== @@ -50,6 +50,7 @@ #include #include #include +#include #include #include @@ -86,6 +87,15 @@ void (*perf_irq)(unsigned long, struct trapframe *) = dummy_perf; +static unsigned int ints[MAXCPU]; +static unsigned int clks[MAXCPU]; +static unsigned int asts[MAXCPU]; +static unsigned int rdvs[MAXCPU]; +SYSCTL_OPAQUE(_debug, OID_AUTO, ints, CTLFLAG_RW, &ints, sizeof(ints), "IU", ""); +SYSCTL_OPAQUE(_debug, OID_AUTO, clks, CTLFLAG_RW, &clks, sizeof(clks), "IU", ""); +SYSCTL_OPAQUE(_debug, OID_AUTO, asts, CTLFLAG_RW, &asts, sizeof(asts), "IU", ""); +SYSCTL_OPAQUE(_debug, OID_AUTO, rdvs, CTLFLAG_RW, &rdvs, sizeof(rdvs), "IU", ""); + static u_int schedclk2; void @@ -118,6 +128,7 @@ #endif critical_enter(); #ifdef SMP + clks[PCPU_GET(cpuid)]++; /* Only the BSP runs the real clock */ if (PCPU_GET(cpuid) == 0) { #endif @@ -139,8 +150,10 @@ critical_exit(); #ifdef SMP } else if (vector == ipi_vector[IPI_AST]) { + asts[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_AST, cpuid=%d", PCPU_GET(cpuid)); } else if (vector == ipi_vector[IPI_RENDEZVOUS]) { + rdvs[PCPU_GET(cpuid)]++; CTR1(KTR_SMP, "IPI_RENDEZVOUS, cpuid=%d", PCPU_GET(cpuid)); smp_rendezvous_action(); } else if (vector == ipi_vector[IPI_STOP]) { @@ -162,8 +175,10 @@ CTR1(KTR_SMP, "IPI_TEST, cpuid=%d", PCPU_GET(cpuid)); mp_ipi_test++; #endif - } else + } else { + ints[PCPU_GET(cpuid)]++; ia64_dispatch_intr(framep, vector); + } out: atomic_subtract_int(&td->td_intr_nesting_level, 1); To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe p4-projects" in the body of the message