svn commit: r247710 - projects/calloutng/sys/kern

Davide Italiano davide at FreeBSD.org
Sun Mar 3 13:39:55 UTC 2013


Author: davide
Date: Sun Mar  3 13:39:54 2013
New Revision: 247710
URL: http://svnweb.freebsd.org/changeset/base/247710

Log:
  - Use TRUE/FALSE in lieu of 0/1 for boolean_t variables.
  - Remove useless braces.
  - Now that 'callout migration entity' has been replaced by 'callout
  execution entity' rename functions and modify comments accordingly.
  - Move DCPU_DECLARE at the beginning of the file.
  
  Requested by:	attilio

Modified:
  projects/calloutng/sys/kern/kern_timeout.c

Modified: projects/calloutng/sys/kern/kern_timeout.c
==============================================================================
--- projects/calloutng/sys/kern/kern_timeout.c	Sun Mar  3 11:09:55 2013	(r247709)
+++ projects/calloutng/sys/kern/kern_timeout.c	Sun Mar  3 13:39:54 2013	(r247710)
@@ -63,6 +63,10 @@ __FBSDID("$FreeBSD$");
 #include <machine/cpu.h>
 #endif
 
+#ifndef NO_EVENTTIMERS
+DPCPU_DECLARE(sbintime_t, hardclocktime);
+#endif
+
 SDT_PROVIDER_DEFINE(callout_execute);
 SDT_PROBE_DEFINE(callout_execute, kernel, , callout_start, callout-start);
 SDT_PROBE_ARGTYPE(callout_execute, kernel, , callout_start, 0,
@@ -176,12 +180,12 @@ struct callout_cpu cc_cpu;
 #define	CC_LOCK_ASSERT(cc)	mtx_assert(&(cc)->cc_lock, MA_OWNED)
 
 static int timeout_cpu;
-static void
-softclock_call_cc(struct callout *c, struct callout_cpu *cc,
+
+static void	softclock_call_cc(struct callout *c, struct callout_cpu *cc,
 #ifdef CALLOUT_PROFILING
-    int *mpcalls, int *lockcalls, int *gcalls,
+		    int *mpcalls, int *lockcalls, int *gcalls,
 #endif
-    int direct);
+		    int direct);
 
 static MALLOC_DEFINE(M_CALLOUT, "callout", "Callout datastructures");
 
@@ -203,16 +207,16 @@ static MALLOC_DEFINE(M_CALLOUT, "callout
  */
 
 /*
- * Resets the migration entity tied to a specific callout cpu.
+ * Resets the execution entity tied to a specific callout cpu.
  */
 static void
-cc_cme_cleanup(struct callout_cpu *cc, int direct)
+cc_cce_cleanup(struct callout_cpu *cc, int direct)
 {
 
 	cc->cc_exec_entity[direct].cc_curr = NULL;
 	cc->cc_exec_entity[direct].cc_next = NULL;
-	cc->cc_exec_entity[direct].cc_cancel = 0;
-	cc->cc_exec_entity[direct].cc_waiting = 0;
+	cc->cc_exec_entity[direct].cc_cancel = FALSE;
+	cc->cc_exec_entity[direct].cc_waiting = FALSE;
 #ifdef SMP
 	cc->cc_exec_entity[direct].ce_migration_cpu = CPUBLOCK;
 	cc->cc_exec_entity[direct].ce_migration_time = 0;
@@ -225,7 +229,7 @@ cc_cme_cleanup(struct callout_cpu *cc, i
  * Checks if migration is requested by a specific callout cpu.
  */
 static int
-cc_cme_migrating(struct callout_cpu *cc, int direct)
+cc_cce_migrating(struct callout_cpu *cc, int direct)
 {
 
 #ifdef SMP
@@ -275,7 +279,7 @@ callout_cpu_init(struct callout_cpu *cc)
 	TAILQ_INIT(&cc->cc_expireq);
 	cc->cc_firstevent = INT64_MAX;
 	for (i = 0; i < 2; i++)
-		cc_cme_cleanup(cc, i);
+		cc_cce_cleanup(cc, i);
 	if (cc->cc_callout == NULL)
 		return;
 	for (i = 0; i < ncallout; i++) {
@@ -596,7 +600,7 @@ softclock_call_cc(struct callout *c, str
 	int flags, new_cpu;
 	sbintime_t new_time;
 #endif
-#ifdef DIAGNOSTIC
+#if defined(DIAGNOSTIC) || defined(CALLOUT_PROFILING) 
 	sbintime_t bt1, bt2;
 	struct timespec ts2;
 	static sbintime_t maxdt = 2 * SBT_1MS;	/* 2 msec */
@@ -617,7 +621,7 @@ softclock_call_cc(struct callout *c, str
 	else
 		c->c_flags &= ~CALLOUT_PENDING;
 	cc->cc_exec_entity[direct].cc_curr = c;
-	cc->cc_exec_entity[direct].cc_cancel = 0;
+	cc->cc_exec_entity[direct].cc_cancel = FALSE;
 	CC_UNLOCK(cc);
 	if (c_lock != NULL) {
 		class->lc_lock(c_lock, sharedlock);
@@ -630,7 +634,7 @@ softclock_call_cc(struct callout *c, str
 			goto skip;
 		}
 		/* The callout cannot be stopped now. */
-		cc->cc_exec_entity[direct].cc_cancel = 1;
+		cc->cc_exec_entity[direct].cc_cancel = TRUE;
 		if (c_lock == &Giant.lock_object) {
 #ifdef CALLOUT_PROFILING
 			(*gcalls)++;
@@ -687,8 +691,8 @@ skip:
 		 * If the callout was scheduled for
 		 * migration just cancel it.
 		 */
-		if (cc_cme_migrating(cc, direct)) {
-			cc_cme_cleanup(cc, direct);
+		if (cc_cce_migrating(cc, direct)) {
+			cc_cce_cleanup(cc, direct);
 
 			/*
 			 * It should be assert here that the callout is not
@@ -696,11 +700,11 @@ skip:
 			 */
 			c->c_flags &= ~CALLOUT_DFRMIGRATION;
 		}
-		cc->cc_exec_entity[direct].cc_waiting = 0;
+		cc->cc_exec_entity[direct].cc_waiting = FALSE;
 		CC_UNLOCK(cc);
 		wakeup(&cc->cc_exec_entity[direct].cc_waiting);
 		CC_LOCK(cc);
-	} else if (cc_cme_migrating(cc, direct)) {
+	} else if (cc_cce_migrating(cc, direct)) {
 		KASSERT((c_flags & CALLOUT_LOCAL_ALLOC) == 0,
 		    ("Migrating legacy callout %p", c));
 #ifdef SMP
@@ -712,7 +716,7 @@ skip:
 		new_time = cc->cc_exec_entity[direct].ce_migration_time;
 		new_func = cc->cc_exec_entity[direct].ce_migration_func;
 		new_arg = cc->cc_exec_entity[direct].ce_migration_arg;
-		cc_cme_cleanup(cc, direct);
+		cc_cce_cleanup(cc, direct);
 
 		/*
 		 * It should be assert here that the callout is not destroyed
@@ -870,10 +874,6 @@ callout_handle_init(struct callout_handl
 	handle->callout = NULL;
 }
 
-#ifndef NO_EVENTTIMERS
-DPCPU_DECLARE(sbintime_t, hardclocktime);
-#endif
-
 /*
  * New interface; clients allocate their own callout structures.
  *
@@ -908,8 +908,9 @@ callout_reset_sbt_on(struct callout *c, 
 #ifdef NO_EVENTTIMERS
 		    sbt >= sbt_timethreshold) {
 			to_sbt = getsbinuptime();
+
 			/* Add safety belt for the case of hz > 1000. */
-			to_sbt += (tc_tick_sbt - tick_sbt);
+			to_sbt += tc_tick_sbt - tick_sbt;
 #else
 		    sbt >= sbt_tickthreshold) {
 			/*
@@ -953,7 +954,7 @@ callout_reset_sbt_on(struct callout *c, 
 		 * can cancel the callout if it has not really started.
 		 */
 		if (c->c_lock != NULL && !cc->cc_exec_entity[direct].cc_cancel)
-			cancelled = cc->cc_exec_entity[direct].cc_cancel = 1;
+			cancelled = cc->cc_exec_entity[direct].cc_cancel = TRUE;
 		if (cc->cc_exec_entity[direct].cc_waiting) {
 			/*
 			 * Someone has called callout_drain to kill this
@@ -1134,7 +1135,7 @@ again:
 				 * will be packed up, just let softclock()
 				 * take care of it.
 				 */
-				cc->cc_exec_entity[direct].cc_waiting = 1;
+				cc->cc_exec_entity[direct].cc_waiting = FALSE;
 				DROP_GIANT();
 				CC_UNLOCK(cc);
 				sleepq_add(
@@ -1160,10 +1161,10 @@ again:
 			 * lock, the callout will be skipped in
 			 * softclock().
 			 */
-			cc->cc_exec_entity[direct].cc_cancel = 1;
+			cc->cc_exec_entity[direct].cc_cancel = TRUE;
 			CTR3(KTR_CALLOUT, "cancelled %p func %p arg %p",
 			    c, c->c_func, c->c_arg);
-			KASSERT(!cc_cme_migrating(cc, direct),
+			KASSERT(!cc_cce_migrating(cc, direct),
 			    ("callout wrongly scheduled for migration"));
 			CC_UNLOCK(cc);
 			KASSERT(!sq_locked, ("sleepqueue chain locked"));
@@ -1183,6 +1184,7 @@ again:
 	}
 	if (sq_locked)
 		sleepq_release(&cc->cc_exec_entity[direct].cc_waiting);
+
 	c->c_flags &= ~(CALLOUT_ACTIVE | CALLOUT_PENDING);
 
 	CTR3(KTR_CALLOUT, "cancelled %p func %p arg %p",


More information about the svn-src-projects mailing list