self int usec_end; device_polling:kern_poll:hardclock_device_poll:netisr_sched { printf("hardclock_device_poll(%d): usec=%u phase=%d", arg0, arg1, arg2); } device_polling:kern_poll:netisr_pollmore:first_params { printf("netisr_pollmore(%d): usec=%u usec_left=%u ns_per=%d done=%d", arg0, arg1, self->usec_end - arg1, arg2, arg3); } device_polling:kern_poll:netisr_pollmore:second_params { printf("netisr_pollmore(%d): ticks_at_start=%u ticks=%u", arg0, arg1, arg2); } device_polling:kern_poll:netisr_pollmore:reschedule { printf("netisr_pollmore(%d): rescheduling for this tick", arg0); } device_polling:kern_poll:netisr_pollmore:sleep { printf("netisr_pollmore(%d): polling_done=%d t_a_s==ticks=%d", arg0, arg1, arg2); } device_polling:kern_poll:netisr_poll:first_poll { printf("netisr_poll(%d): first call of tick(end_usec=%u)", arg0, arg1); self->usec_end = arg1; } device_polling:kern_poll:netisr_poll:poll_cycles { printf("netisr_poll(%d): residual_burst=%d cycles=%d", arg0, arg1, arg2); } device_polling:kern_poll:netisr_poll:before_poller { this->ifp = (struct ifnet*)arg2; printf("netisr_poll(%d): about to call %a(%s)", arg0, arg1, this->ifp->if_xname); self->poller_start = timestamp; } device_polling:kern_poll:netisr_poll:after_poller { this->ifp = (struct ifnet*)arg2; printf("netisr_poll(%d): %a(%s) returned; took %d ns to handle %d/%d packets", arg0, arg1, this->ifp->if_xname, timestamp - self->poller_start, arg3, arg4); } device_polling:kern_poll:netisr_poll:pollers_done { printf("netisr_poll(%d): iteration done, %d/%d packets polling_done=%d t_a_s=%u", arg0, arg1, arg2, arg3, arg4); }