Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 2006 13:51:59 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 101849 for review
Message-ID:  <200607181351.k6IDpxQp061498@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=101849

Change 101849 by piso@piso_newluxor on 2006/07/18 13:51:37

	Retire IH_FAST: we don't need it anymore.

Affected files ...

.. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#9 edit
.. //depot/projects/soc2006/intr_filter/sys/interrupt.h#4 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#9 (text+ko) ====

@@ -340,9 +340,7 @@
 	ih->ih_name = name;
 	ih->ih_event = ie;
 	ih->ih_pri = pri;
-	if (flags & INTR_FAST)
-		ih->ih_flags = IH_FAST;
-	else if (flags & INTR_EXCL)
+	if (flags & INTR_EXCL)
 		ih->ih_flags = IH_EXCLUSIVE;
 	if (flags & INTR_MPSAFE)
 		ih->ih_flags |= IH_MPSAFE;
@@ -470,7 +468,7 @@
 	 */
 	dead = 1;
 	TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) {
-		if (!(ih->ih_flags & IH_FAST)) {
+		if (!(ih->ih_filter != NULL && ih->ih_handler == NULL)) {
 			dead = 0;
 			break;
 		}
@@ -645,10 +643,6 @@
 		else
 			atomic_store_rel_int(&ih->ih_need, 0);
 
-		/* Fast handlers are handled in primary interrupt context. */
-		if (ih->ih_flags & IH_FAST)
-                        continue;
-
 		/* Execute this handler. */
 		CTR6(KTR_INTR, "%s: pid %d exec %p(%p) for %s flg=%x",
 		    __func__, p->p_pid, (void *)ih->ih_handler, ih->ih_argument,
@@ -881,14 +875,10 @@
 	db_printsym((uintptr_t)ih->ih_handler, DB_STGY_PROC);
 	db_printf("(%p)", ih->ih_argument);
 	if (ih->ih_need ||
-	    (ih->ih_flags & (IH_FAST | IH_EXCLUSIVE | IH_ENTROPY | IH_DEAD |
+	    (ih->ih_flags & (IH_EXCLUSIVE | IH_ENTROPY | IH_DEAD |
 	    IH_MPSAFE)) != 0) {
 		db_printf(" {");
 		comma = 0;
-		if (ih->ih_flags & IH_FAST) {
-			db_printf("FAST");
-			comma = 1;
-		}
 		if (ih->ih_flags & IH_EXCLUSIVE) {
 			if (comma)
 				db_printf(", ");

==== //depot/projects/soc2006/intr_filter/sys/interrupt.h#4 (text+ko) ====

@@ -55,7 +55,6 @@
 };
 
 /* Interrupt handle flags kept in ih_flags */
-#define	IH_FAST		0x00000001	/* Fast interrupt. */
 #define	IH_EXCLUSIVE	0x00000002	/* Exclusive interrupt. */
 #define	IH_ENTROPY	0x00000004	/* Device is a good entropy source. */
 #define	IH_DEAD		0x00000008	/* Handler should be removed. */



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