PERFORCE change 141298 for review
John Baldwin
jhb at FreeBSD.org
Wed May 7 20:50:45 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=141298
Change 141298 by jhb at jhb_mutex on 2008/05/07 20:50:43
Catch up to per-cpu callout wheels.
Affected files ...
.. //depot/projects/smpng/sys/kern/kern_timeout.c#39 edit
Differences ...
==== //depot/projects/smpng/sys/kern/kern_timeout.c#39 (text+ko) ====
@@ -884,29 +884,42 @@
DB_SHOW_COMMAND(callouts, db_show_callouts)
{
+ struct callout_cpu *cc;
struct callout *c;
int bucket, callouts, sticks;
+#ifdef SMP
+ if (have_addr) {
+ if (addr >= 0 && addr <= mp_maxid && !CPU_ABSENT(addr))
+ cc = CC_CPU(addr);
+ else {
+ db_printf("Invalid cpu %d\n", addr);
+ return;
+ }
+ } else
+#endif
+ cc = CC_SELF();
+
/* First, count the number of callouts. */
callouts = 0;
for (bucket = 0; bucket < callwheelsize; bucket++) {
- TAILQ_FOREACH(c, &callwheel[bucket], c_links.tqe) {
+ TAILQ_FOREACH(c, &cc->cc_callwheel[bucket], c_links.tqe) {
callouts++;
}
}
- sticks = softticks;
+ sticks = cc->cc_softticks;
do {
bucket = sticks & callwheelmask;
- TAILQ_FOREACH(c, &callwheel[bucket], c_links.tqe) {
+ TAILQ_FOREACH(c, &cc->cc_callwheel[bucket], c_links.tqe) {
if (c->c_time < sticks)
continue;
if (c->c_time > sticks)
break;
#if 1
- db_printf("%9d ", c->c_time - softticks);
+ db_printf("%9d ", c->c_time - cc->cc_softticks);
#else
- db_print_ticks(c->c_time - softticks);
+ db_print_ticks(c->c_time - cc->cc_softticks);
db_printf(" ");
#endif
db_printsym((db_expr_t)c->c_func, DB_STGY_PROC);
More information about the p4-projects
mailing list