summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_sleepqueue.c
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-03-04 13:14:59 +0000
committerattilio <attilio@FreeBSD.org>2013-03-04 13:14:59 +0000
commit1be810ec7308568f15799ceb7f6ad7162994537c (patch)
treefb5f2f94d7ff72f1714d3bbeff57da4a8fff44e6 /sys/kern/subr_sleepqueue.c
parentdf5bf2af9de4e98baa790d9a97d7617ce5baab8f (diff)
parente5bdd2f06e53c260f9b92776f7f3b1fe5c140dae (diff)
downloadFreeBSD-src-1be810ec7308568f15799ceb7f6ad7162994537c.zip
FreeBSD-src-1be810ec7308568f15799ceb7f6ad7162994537c.tar.gz
MFC
Diffstat (limited to 'sys/kern/subr_sleepqueue.c')
-rw-r--r--sys/kern/subr_sleepqueue.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/kern/subr_sleepqueue.c b/sys/kern/subr_sleepqueue.c
index f187544..3e1c0c3 100644
--- a/sys/kern/subr_sleepqueue.c
+++ b/sys/kern/subr_sleepqueue.c
@@ -361,7 +361,8 @@ sleepq_add(void *wchan, struct lock_object *lock, const char *wmesg, int flags,
* sleep queue after timo ticks if the thread has not already been awakened.
*/
void
-sleepq_set_timeout(void *wchan, int timo)
+sleepq_set_timeout_sbt(void *wchan, sbintime_t sbt, sbintime_t pr,
+ int flags)
{
struct sleepqueue_chain *sc;
struct thread *td;
@@ -372,7 +373,8 @@ sleepq_set_timeout(void *wchan, int timo)
MPASS(TD_ON_SLEEPQ(td));
MPASS(td->td_sleepqueue == NULL);
MPASS(wchan != NULL);
- callout_reset_curcpu(&td->td_slpcallout, timo, sleepq_timeout, td);
+ callout_reset_sbt_on(&td->td_slpcallout, sbt, pr,
+ sleepq_timeout, td, PCPU_GET(cpuid), flags | C_DIRECT_EXEC);
}
/*
OpenPOWER on IntegriCloud