svn commit: r212992 - head/sys/kern
Alexander Motin
mav at FreeBSD.org
Wed Sep 22 05:32:38 UTC 2010
Author: mav
Date: Wed Sep 22 05:32:37 2010
New Revision: 212992
URL: http://svn.freebsd.org/changeset/base/212992
Log:
If kernel built with DEVICE_POLLING, keep one CPU always in active state
to handle it.
Modified:
head/sys/kern/kern_clocksource.c
Modified: head/sys/kern/kern_clocksource.c
==============================================================================
--- head/sys/kern/kern_clocksource.c Wed Sep 22 05:17:18 2010 (r212991)
+++ head/sys/kern/kern_clocksource.c Wed Sep 22 05:32:37 2010 (r212992)
@@ -34,6 +34,7 @@ __FBSDID("$FreeBSD$");
/* XEN has own timer routines now. */
#ifndef XEN
+#include "opt_device_polling.h"
#include "opt_kdtrace.h"
#include <sys/param.h>
@@ -721,7 +722,11 @@ cpu_idleclock(void)
struct pcpu_state *state;
if (idletick || busy ||
- (periodic && (timer->et_flags & ET_FLAGS_PERCPU)))
+ (periodic && (timer->et_flags & ET_FLAGS_PERCPU))
+#ifdef DEVICE_POLLING
+ || curcpu == CPU_FIRST()
+#endif
+ )
return;
state = DPCPU_PTR(timerstate);
if (periodic)
More information about the svn-src-all
mailing list