From owner-p4-projects@FreeBSD.ORG Tue Aug 1 20:42:26 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 7B60716A4E0; Tue, 1 Aug 2006 20:42:26 +0000 (UTC) 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 4D6E416A4DE for ; Tue, 1 Aug 2006 20:42:26 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1C2D543D49 for ; Tue, 1 Aug 2006 20:42:26 +0000 (GMT) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k71KgPZb039143 for ; Tue, 1 Aug 2006 20:42:25 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k71KgPDC039140 for perforce@freebsd.org; Tue, 1 Aug 2006 20:42:25 GMT (envelope-from jb@freebsd.org) Date: Tue, 1 Aug 2006 20:42:25 GMT Message-Id: <200608012042.k71KgPDC039140@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 102970 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, 01 Aug 2006 20:42:26 -0000 http://perforce.freebsd.org/chv.cgi?CH=102970 Change 102970 by jb@jb_freebsd2 on 2006/08/01 20:42:20 When heading for a panic due to an unacked IPI, we really only need the first CPU which decides to panic to print put the trace buffer. Also report the pad fields from the per-cpu structure which we'll try to poke stuff in when we're at tl2 to see what is going on. Affected files ... .. //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/pmap.c#11 edit Differences ... ==== //depot/projects/kmacy_sun4v_stable/src/sys/sun4v/sun4v/pmap.c#11 (text+ko) ==== @@ -1218,6 +1218,10 @@ m->md.pv_list_count++; } +#ifdef TRAP_TRACING +static int trap_trace_report_done; +#endif + #ifdef SMP static cpumask_t pmap_ipi(pmap_t pmap, char *func, uint64_t arg1, uint64_t arg2) @@ -1288,9 +1292,17 @@ curactive & ~ackmask); #ifdef TRAP_TRACING - for (j = 0; j < MAXCPU; j++) - if (((1 << j) & curactive & ~ackmask) != 0) - trap_trace_report(j); + if (!trap_trace_report_done) { + trap_trace_report_done = 1; + for (j = 0; j < MAXCPU; j++) + if (((1 << j) & curactive & ~ackmask) != 0) { + struct pcpu *pc = pcpu_find(j); + printf("pcpu pad 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx 0x%jx\n", + pc->pad[0], pc->pad[1], pc->pad[2], pc->pad[3], + pc->pad[4], pc->pad[5], pc->pad[6]); + trap_trace_report(j); + } + } #endif hv_cpu_state((uint64_t)ffs64(curactive & ~ackmask), &cpu_state);