PERFORCE change 231279 for review
Jonathan Anderson
jonathan at FreeBSD.org
Fri Jul 19 11:53:47 UTC 2013
http://p4web.freebsd.org/@@231279?ac=10
Change 231279 by jonathan at jonathan-on-zenith on 2013/07/19 11:53:30
Pull in TESLA DTrace parts from commit 219d22.
Affected files ...
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_dtrace.c#9 edit
Differences ...
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_dtrace.c#9 (text+ko) ====
@@ -46,8 +46,8 @@
SDT_PROBE_DEFINE4(tesla, automata, instance, clone, clone,
"struct tesla_class *", "struct tesla_instance *",
"struct tesla_instance *", "struct tesla_transition *");
-SDT_PROBE_DEFINE3(tesla, automata, fail, no_instance, no-instance-match,
- "struct tesla_class *", "const char *",
+SDT_PROBE_DEFINE4(tesla, automata, fail, no_instance, no-instance-match,
+ "struct tesla_class *", "const char *", "const char *",
"struct tesla_transitions *");
SDT_PROBE_DEFINE3(tesla, automata, fail, bad_transition, bad-transition,
"struct tesla_class *", "struct tesla_instance *",
@@ -87,10 +87,28 @@
no_instance(struct tesla_class *tcp, const struct tesla_key *tkp,
const struct tesla_transitions *ttp)
{
+ char instbuf[200];
+ char *c = instbuf;
+ const char *end = instbuf + sizeof(instbuf);
+
+ SAFE_SPRINTF(c, end, "%d/%d instances\n",
+ tcp->tc_limit - tcp->tc_free, tcp->tc_limit);
+
+ for (uint32_t i = 0; i < tcp->tc_limit; i++) {
+ const struct tesla_instance *inst = tcp->tc_instances + i;
+ if (!tesla_instance_active(inst))
+ continue;
+
+ SAFE_SPRINTF(c, end, " %2u: state %d, ", i, inst->ti_state);
+ c = key_string(c, end, &inst->ti_key);
+ SAFE_SPRINTF(c, end, "\n");
+ }
+
char keybuf[20];
key_string(keybuf, keybuf + sizeof(keybuf), tkp);
- SDT_PROBE(tesla, automata, fail, no_instance, tcp, keybuf, ttp, 0, 0);
+ SDT_PROBE(tesla, automata, fail, no_instance,
+ tcp, instbuf, keybuf, ttp, 0);
}
static void
More information about the p4-projects
mailing list