Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Aug 2023 22:11:30 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: d8099e33c79b - main - intr: move MAX_STRAY_LOG to interrupt.h
Message-ID:  <202308172211.37HMBU8b011754@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=d8099e33c79b98666232c73d9ceee62fff853fad

commit d8099e33c79b98666232c73d9ceee62fff853fad
Author:     Elliott Mitchell <ehem+freebsd@m5p.com>
AuthorDate: 2022-06-19 15:05:20 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-08-17 22:10:02 +0000

    intr: move MAX_STRAY_LOG to interrupt.h
    
    The two interrupt controllers which implement squelching of reports
    after a maximum use the same limit.  Move the limit to interrupt.h, the
    better to encourage other interrupt controllers to implement the same.
    
    Reviewed by:    markj
    MFC after:      2 weks
    Differential Revision:  https://reviews.freebsd.org/D35527
---
 sys/powerpc/powerpc/intr_machdep.c | 8 +++-----
 sys/sys/interrupt.h                | 3 +++
 sys/x86/x86/intr_machdep.c         | 6 ++----
 3 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/sys/powerpc/powerpc/intr_machdep.c b/sys/powerpc/powerpc/intr_machdep.c
index 605f436804d4..d64d15775ab5 100644
--- a/sys/powerpc/powerpc/intr_machdep.c
+++ b/sys/powerpc/powerpc/intr_machdep.c
@@ -87,8 +87,6 @@
 
 #include "pic_if.h"
 
-#define	MAX_STRAY_LOG	5
-
 static MALLOC_DEFINE(M_INTR, "intr", "interrupt handler data");
 
 struct powerpc_intr {
@@ -660,11 +658,11 @@ powerpc_dispatch_intr(u_int vector, struct trapframe *tf)
 
 stray:
 	stray_count++;
-	if (stray_count <= MAX_STRAY_LOG) {
+	if (stray_count <= INTR_STRAY_LOG_MAX) {
 		printf("stray irq %d\n", i ? i->irq : -1);
-		if (stray_count >= MAX_STRAY_LOG) {
+		if (stray_count >= INTR_STRAY_LOG_MAX) {
 			printf("got %d stray interrupts, not logging anymore\n",
-			    MAX_STRAY_LOG);
+			    INTR_STRAY_LOG_MAX);
 		}
 	}
 	if (i != NULL)
diff --git a/sys/sys/interrupt.h b/sys/sys/interrupt.h
index 9eeda4a3ed16..9fa0adf9139f 100644
--- a/sys/sys/interrupt.h
+++ b/sys/sys/interrupt.h
@@ -148,6 +148,9 @@ struct intr_event {
 #define	SWI_TQ		6
 #define	SWI_TQ_GIANT	6
 
+/* Maximum number of stray interrupts to log */
+#define	INTR_STRAY_LOG_MAX	5
+
 struct proc;
 
 extern struct	intr_event *clk_intr_event;
diff --git a/sys/x86/x86/intr_machdep.c b/sys/x86/x86/intr_machdep.c
index e53d86a8cef8..4a1bc942234a 100644
--- a/sys/x86/x86/intr_machdep.c
+++ b/sys/x86/x86/intr_machdep.c
@@ -72,8 +72,6 @@
 
 #include <vm/vm.h>
 
-#define	MAX_STRAY_LOG	5
-
 typedef void (*mask_fn)(void *);
 
 static int intrcnt_index;
@@ -355,9 +353,9 @@ intr_execute_handlers(struct intsrc *isrc, struct trapframe *frame)
 	if (intr_event_handle(ie, frame) != 0) {
 		isrc->is_pic->pic_disable_source(isrc, PIC_EOI);
 		(*isrc->is_straycount)++;
-		if (*isrc->is_straycount < MAX_STRAY_LOG)
+		if (*isrc->is_straycount < INTR_STRAY_LOG_MAX)
 			log(LOG_ERR, "stray irq%d\n", vector);
-		else if (*isrc->is_straycount == MAX_STRAY_LOG)
+		else if (*isrc->is_straycount == INTR_STRAY_LOG_MAX)
 			log(LOG_CRIT,
 			    "too many stray irq %d's: not logging anymore\n",
 			    vector);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202308172211.37HMBU8b011754>