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

Alexander Motin mav at FreeBSD.org
Mon Nov 5 05:56:11 UTC 2012


Author: mav
Date: Mon Nov  5 05:56:10 2012
New Revision: 242598
URL: http://svnweb.freebsd.org/changeset/base/242598

Log:
  C_DIRECT_EXEC is the flag of callouts, so move it to the places where it
  really belongs.

Modified:
  projects/calloutng/sys/kern/kern_time.c
  projects/calloutng/sys/kern/subr_sleepqueue.c
  projects/calloutng/sys/kern/sys_generic.c

Modified: projects/calloutng/sys/kern/kern_time.c
==============================================================================
--- projects/calloutng/sys/kern/kern_time.c	Mon Nov  5 02:36:10 2012	(r242597)
+++ projects/calloutng/sys/kern/kern_time.c	Mon Nov  5 05:56:10 2012	(r242598)
@@ -494,8 +494,7 @@ kern_nanosleep(struct thread *td, struct
 	timespec2bintime(rqt, &tmp);
 	bintime_add(&bt,&tmp);
 	for (;;) {
-		error = tsleep_bt(&nanowait, PWAIT | PCATCH, "nanslp", &bt, 
-		    C_DIRECT_EXEC);
+		error = tsleep_bt(&nanowait, PWAIT | PCATCH, "nanslp", &bt, 0);
 		binuptime(&bt2);
 		if (error != EWOULDBLOCK) {
 			if (error == ERESTART)

Modified: projects/calloutng/sys/kern/subr_sleepqueue.c
==============================================================================
--- projects/calloutng/sys/kern/subr_sleepqueue.c	Mon Nov  5 02:36:10 2012	(r242597)
+++ projects/calloutng/sys/kern/subr_sleepqueue.c	Mon Nov  5 05:56:10 2012	(r242598)
@@ -376,11 +376,11 @@ _sleepq_set_timeout(void *wchan, struct 
 	MPASS(td->td_sleepqueue == NULL);
 	MPASS(wchan != NULL);
 	if (bt == NULL) 
-		callout_reset_flags_on(&td->td_slpcallout, timo, 
-		    sleepq_timeout, td, PCPU_GET(cpuid), flags);
+		callout_reset_flags_on(&td->td_slpcallout, timo,
+		    sleepq_timeout, td, PCPU_GET(cpuid), flags | C_DIRECT_EXEC);
 	else
-		callout_reset_bt_on(&td->td_slpcallout, bt, 
-		    sleepq_timeout, td, PCPU_GET(cpuid), flags); 
+		callout_reset_bt_on(&td->td_slpcallout, bt,
+		    sleepq_timeout, td, PCPU_GET(cpuid), flags | C_DIRECT_EXEC);
 }
 
 /*

Modified: projects/calloutng/sys/kern/sys_generic.c
==============================================================================
--- projects/calloutng/sys/kern/sys_generic.c	Mon Nov  5 02:36:10 2012	(r242597)
+++ projects/calloutng/sys/kern/sys_generic.c	Mon Nov  5 05:56:10 2012	(r242598)
@@ -1666,8 +1666,8 @@ seltdwait(struct thread *td, struct bint
 	if (bt == NULL && timo > 0) 
 		error = cv_timedwait_sig(&stp->st_wait, &stp->st_mtx, timo);
 	else if (bt != NULL)
-		error = cv_timedwait_bt_sig(&stp->st_wait, &stp->st_mtx, 
-		    bt, C_DIRECT_EXEC);
+		error = cv_timedwait_bt_sig(&stp->st_wait, &stp->st_mtx,
+		    bt, 0);
 	else	
 		error = cv_wait_sig(&stp->st_wait, &stp->st_mtx);
 	mtx_unlock(&stp->st_mtx);


More information about the svn-src-projects mailing list