php IHDR w Q )Ba pHYs sRGB gAMA a IDATxMk\U s&uo,mD )Xw+e?tw.oWp;QHZnw`gaiJ9̟灙a=nl[ ʨ G;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ w@H;@ q$ y H@E7j 1j+OFRg}ܫ;@Ea~ j`u'o> j- $_q?qS XzG'ay
files >> /proc/self/root/usr/share/doc/systemtap-client-2.9/examples/process/ |
files >> //proc/self/root/usr/share/doc/systemtap-client-2.9/examples/process/semop-watch.stp |
global threads; global times; probe syscall.semop, syscall.semtimedop { sembuf_sz = & @cast(0, "struct sembuf")[1]; res = sprintf("set %d sems", semid) %( systemtap_v < "2.3" %? if (tsops_uaddr != 0) sops_uaddr = tsops_uaddr; /* ignore warning for semtimedop's 'tsops_uaddr never-assigned'. */ %) for(i = 0; i < nsops; i++) { offset = i * sembuf_sz; pointer = sops_uaddr + offset; num_addr = & @cast(pointer, "struct sembuf")->sem_num; num = user_short(num_addr); res = sprintf("%s %d", res, num); } res = sprintf("%s\n", res); threads[tid()] = res; times[tid()] = gettimeofday_us(); } probe syscall.semop.return, syscall.semtimedop.return { printf("Thread %d took %dus to operate on %s\n", tid(), gettimeofday_us() - times[tid()], threads[tid()]); }y~or5J={Eeu磝Qk ᯘG{?+]ן?wM3X^歌>{7پK>on\jy Rg/=fOroNVv~Y+ NGuÝHWyw[eQʨSb> >}Gmx[o[<{Ϯ_qFvM IENDB`