Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Nov 2012 05:56:10 +0000 (UTC)
From:      Alexander Motin <mav@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r242598 - projects/calloutng/sys/kern
Message-ID:  <201211050556.qA55uAL2038656@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);



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