This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

process().statement() doesn't seem to work


Hi,

I want to use systemtap to figure out the local variables in a function where something goes fishy. The function's code is here:

http://dpdk.org/browse/dpdk/tree/lib/librte_pmd_ixgbe/ixgbe_rxtx.c?id=v1.7.1#n1313

It's a receive function of DPDK's userspace poll mode driver, so it's called in an infinite loop. When I try this, it appers to work:

probe process("/usr/sbin/ovs-vswitchd").function("ixgbe_recv_scattered_pkts").return {
  log($$locals)
  exit();
}

The output is:

rxq=0x7fff852ee000 rx_ring=? rxdp=? sw_ring=? rxe=? first_seg=? last_seg=? rxm=? nmb=? rxd={...} dma=? staterr=? hlen_type_rss=? rx_id=? nb_rx=0x0 nb_hold=0x0 data_len=? pkt_flags=?

But it doesn't show most of the variables I need. It returns nb_rx=0, so I know where are the two points where things can go wrong, but I can't see the output of those variables (staterr and nmb)

When I try to define the probe as this:

probe process("/usr/sbin/ovs-vswitchd").statement("*@lib/librte_pmd_ixgbe/ixgbe_rxtx.c:1359")

Or with any line number inside that function, the probe is never reached. I'm using gcc 4.8.4, DPDK is statically linked to my application.
Does anyone have an idea what might went wrong?

Regards,

Zoltan Kiss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]