Start using our hash tables for thread switch/lifetime events
authorAggelos Economopoulos <aoiko@cc.ece.ntua.gr>
Wed, 26 May 2010 13:13:08 +0000 (16:13 +0300)
committerAggelos Economopoulos <aoiko@cc.ece.ntua.gr>
Wed, 26 May 2010 13:21:59 +0000 (16:21 +0300)
sys/kern/lwkt_thread.c

index 97d8d74..0c7dd6b 100644 (file)
 #define KTR_CTXSW KTR_ALL
 #endif
 KTR_INFO_MASTER(ctxsw);
-KTR_INFO(KTR_CTXSW, ctxsw, sw, 0, "sw  %p > %p", 2 * sizeof(struct thread *));
-KTR_INFO(KTR_CTXSW, ctxsw, pre, 1, "pre %p > %p", 2 * sizeof(struct thread *));
-KTR_INFO(KTR_CTXSW, ctxsw, newtd, 2, "new_td %p %s", sizeof (struct thread *) +
-        sizeof(char *));
-KTR_INFO(KTR_CTXSW, ctxsw, deadtd, 3, "dead_td %p", sizeof (struct thread *));
+KTR_INFO(KTR_CTXSW, ctxsw, sw, 0, "#cpu[%d].td = %p",
+        sizeof(int) + sizeof(struct thread *));
+KTR_INFO(KTR_CTXSW, ctxsw, pre, 1, "#cpu[%d].td = %p",
+        sizeof(int) + sizeof(struct thread *));
+KTR_INFO(KTR_CTXSW, ctxsw, newtd, 2, "#threads[%p].name = %s",
+        sizeof (struct thread *) + sizeof(char *));
+KTR_INFO(KTR_CTXSW, ctxsw, deadtd, 3, "#threads[%p].name = <dead>", sizeof (struct thread *));
 
 static MALLOC_DEFINE(M_THREAD, "thread", "lwkt threads");
 
@@ -770,7 +772,7 @@ using_idle_thread:
        KKASSERT(tos_ok);
     }
 #endif
-       KTR_LOG(ctxsw_sw, td, ntd);
+       KTR_LOG(ctxsw_sw, gd->gd_cpuid, ntd);
        td->td_switch(ntd);
     }
     /* NOTE: current cpu may have changed after switch */
@@ -912,7 +914,7 @@ lwkt_preempt(thread_t ntd, int critpri)
     ++preempt_hit;
     ntd->td_preempted = td;
     td->td_flags |= TDF_PREEMPT_LOCK;
-    KTR_LOG(ctxsw_pre, td, ntd);
+    KTR_LOG(ctxsw_pre, gd->gd_cpuid, ntd);
     td->td_switch(ntd);
 
     KKASSERT(ntd->td_preempted && (td->td_flags & TDF_PREEMPT_DONE));