diff options
author | jeff <jeff@FreeBSD.org> | 2007-01-06 02:34:23 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2007-01-06 02:34:23 +0000 |
commit | 80a97a8d5ec42255341c0d8a2241d3e40caac7d1 (patch) | |
tree | 2a1733ebfe9a17a0d7ed27d343a6c1eacc20c166 | |
parent | 08aa1698e7efae1bba5d31f8bb9370cff95dd1d9 (diff) | |
download | FreeBSD-src-80a97a8d5ec42255341c0d8a2241d3e40caac7d1.zip FreeBSD-src-80a97a8d5ec42255341c0d8a2241d3e40caac7d1.tar.gz |
- Don't IPI unless we're going to interrupt something exiting in the kernel.
otherwise we can afford the latency. This makes a significant performance
improvement.
-rw-r--r-- | sys/kern/sched_ule.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/sched_ule.c b/sys/kern/sched_ule.c index e117782..ac40680 100644 --- a/sys/kern/sched_ule.c +++ b/sys/kern/sched_ule.c @@ -692,7 +692,7 @@ tdq_notify(struct td_sched *ts, int cpu) } while(!atomic_cmpset_ptr((volatile uintptr_t *)&tdq->tdq_assigned, (uintptr_t)ts->ts_assign, (uintptr_t)ts)); /* Only ipi for realtime/ithd priorities */ - if (ts->ts_thread->td_priority >= PRI_MIN_TIMESHARE) + if (ts->ts_thread->td_priority > PRI_MIN_KERN) return; /* * Without sched_lock we could lose a race where we set NEEDRESCHED |