svn commit: r193207 - projects/pnet/sys/net

Robert Watson rwatson at FreeBSD.org
Mon Jun 1 07:54:27 UTC 2009


Author: rwatson
Date: Mon Jun  1 07:54:27 2009
New Revision: 193207
URL: http://svn.freebsd.org/changeset/base/193207

Log:
  When queueing a packet to a netisr thread and it's already being direct
  dispatched, suppress a wakeup -- the direct dispatching thread will
  generate it later.

Modified:
  projects/pnet/sys/net/netisr.c

Modified: projects/pnet/sys/net/netisr.c
==============================================================================
--- projects/pnet/sys/net/netisr.c	Mon Jun  1 07:48:27 2009	(r193206)
+++ projects/pnet/sys/net/netisr.c	Mon Jun  1 07:54:27 2009	(r193207)
@@ -776,7 +776,8 @@ netisr_queue_workstream(struct netisr_wo
 		if (npwp->nw_len > npwp->nw_watermark)
 			npwp->nw_watermark = npwp->nw_len;
 		nwsp->nws_pendingbits |= (1 << proto);
-		if (!(nwsp->nws_flags & (NWS_SCHEDULED | NWS_RUNNING))) {
+		if (!(nwsp->nws_flags & 
+		    (NWS_RUNNING | NWS_DISPATCHING | NWS_SCHEDULED))) {
 			nwsp->nws_flags |= NWS_SCHEDULED;
 			*dosignalp = 1;	/* Defer until unlocked. */
 		}


More information about the svn-src-projects mailing list