Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 1 Jun 2009 07:54:27 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r193207 - projects/pnet/sys/net
Message-ID:  <200906010754.n517sRo4068452@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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. */
 		}



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