On Sat, 2011-02-05 at 12:43 -0800, Bobby Longpocket wrote:
> Hi Harald,
>
> My guess is that there is a problem with how you are calculating the average
> per-packet cycle counts.
>
> Note that the FromDevice task can run more than once per packet, and it won't
> call ToHost every time it is run. If you look at the total cycle counts, is
> FromDevice task cycles larger than ToHost call cycles?
will double-check that tomorrow, thanks for the hint.
on the other hand, I'm using ( cycles / calls) from the respective
element; this script runs in /click/ElementName/ :
avg_cycles.pl:
#!/usr/bin/perl -w
use strict;
open C, ">cycles";
print C "reset\n";
close C;
while (1) {
open C, "<cycles";
while (<C>) {
my @f = split /\s/;
if ($f[0] eq "tasks" || $f[0] eq "timers") {
print $f[0]." ".$f[2]/$f[1]."\n";
}else {
print "self ".$f[1]/$f[0]."\n";
print "child ".$f[2]/$f[0]."\n";
}
}
close C;
sleep 1;
}
for reference: /click/ElementName/cycles is filled by lib/element.cc:
String
Element::read_cycles_handler(Element *e, void *)
{
StringAccum sa;
if (e->_calls)
sa << e->_calls << ' ' << e->_self_cycles << ' '
<< e->_child_cycles << '\n';
if (e->_task_calls)
sa << "tasks " << e->_task_calls << ' ' << e->_task_cycles << "\n";
if (e->_timer_calls)
sa << "timers " << e->_timer_calls << ' ' << e->_timer_cycles << "\n";
return sa.take_string();
}
_______________________________________________
click mailing list
[email protected]
https://amsterdam.lcs.mit.edu/mailman/listinfo/click