Module Name: src Committed By: mrg Date: Mon Feb 4 09:57:39 UTC 2019
Modified Files: src/sys/arch/sparc/sparc: intr.c Log Message: print the cpu number for the mutex not held xcallintr debug message. add a comment about why this case fires. To generate a diff of this commit: cvs rdiff -u -r1.119 -r1.120 src/sys/arch/sparc/sparc/intr.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/sparc/sparc/intr.c diff -u src/sys/arch/sparc/sparc/intr.c:1.119 src/sys/arch/sparc/sparc/intr.c:1.120 --- src/sys/arch/sparc/sparc/intr.c:1.119 Sat Dec 2 00:48:05 2017 +++ src/sys/arch/sparc/sparc/intr.c Mon Feb 4 09:57:39 2019 @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.119 2017/12/02 00:48:05 macallan Exp $ */ +/* $NetBSD: intr.c,v 1.120 2019/02/04 09:57:39 mrg Exp $ */ /* * Copyright (c) 1992, 1993 @@ -41,7 +41,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.119 2017/12/02 00:48:05 macallan Exp $"); +__KERNEL_RCSID(0, "$NetBSD: intr.c,v 1.120 2019/02/04 09:57:39 mrg Exp $"); #include "opt_multiprocessor.h" #include "opt_sparc_arch.h" @@ -366,10 +366,14 @@ xcallintr(void *v) if (v != xcallintr) cpuinfo.ci_sintrcnt[13].ev_count++; + /* + * This happens when the remote CPU is slow at responding and the + * caller gave up, and has given up the mutex. + */ if (mutex_owned(&xpmsg_mutex) == 0) { cpuinfo.ci_xpmsg_mutex_not_held.ev_count++; #ifdef DEBUG - printf("%s: mutex not held\n", __func__); + printf("%s: cpu%d mutex not held\n", __func__, cpu_number()); #endif cpuinfo.msg.complete = 1; kpreempt_enable();