Ńň s×6Xc @shddkZddkZddkZddkZddkZddkZd-Zd„Zd„Zd„Z d „Z d.Z d/Z h e d 6e e Bd 6e e Bd6e e Bd6e d6e d6e d6e d6e e Bd6Z h d d6d d6dd6dd6dd6dd6dd6dd6dd6Zead ad„Zd„Zd „Zed!joddkZeeiƒd"jo2eid d#joeeeid$ƒd ƒqdeeiƒd"jo2eid d%joeeeid$ƒd ƒqdeeiƒd$joKeid d&jo7d'd0GHxBeiƒD]Zd*eeefGHq(Wqdd+GHd,GHeid ƒndS(1i˙˙˙˙Ni?iiżi˙cCsqd}xNtD]F}ti|ddƒo*ti|dddd|ƒ|d7}q q W|djo dGHndS(Niii„isno local devices found(tbussestpcitprobet changebit(tvaltctb((s/root/pmu-tools/latego.pytlocal_direct2cores cCsd}xjtD]b}ti|ddƒoFti|dddd|ƒti|dddd|ƒ|d7}q q W|djo dGHndS(Niii€ii sno remote devices found(RRRR(RRR((s/root/pmu-tools/latego.pytremote_direct2cores cCsVtidtiƒ}ti|tiddƒƒt|ƒt|ƒti|ƒdS(Ns/dev/cpu_dma_latencytIi( tostopentO_WRONLYtwritetstructtpackRRtclose(Rtf((s/root/pmu-tools/latego.pyt direct2core!s   cCstidd|ƒdS(Niœi(tmsrR(R((s/root/pmu-tools/latego.pyt set_bypass)siiiŃiŃ iÓiÓiŇiŇiŇiŇiÍsmem_load_uops_retired.llc_hitsmem_load_uops_retired.llc_misss)mem_load_uops_llc_miss_retired.local_drams*mem_load_uops_llc_miss_retired.remote_drams'mem_load_uops_llc_hit_retired.xsnp_misss&mem_load_uops_llc_hit_retired.xsnp_hits'mem_load_uops_llc_hit_retired.xsnp_hitms'mem_load_uops_llc_hit_retired.xsnp_nonesmem_trans_retired.load_latencycCs6tt@otdƒntt@otdƒndS(Ni(tenabledtbypassRtd2cR(((s/root/pmu-tools/latego.pytcleanupIs  cCs;tid|ƒot|dƒS|tjo t|S|S(Ns[0-9]+i(tretmatchtintt latego_names(te((s/root/pmu-tools/latego.pyt get_eventOs   cCsĂd|}|o8t o0tititƒtititƒtan|tjoit|}|t@od|GHt|ƒn|t @od|GHt |ƒn|o |a qżda ndS(Nt DisablingtEnablings%s direct2cores %s bypassi(RR ( t signal_setuptsignaltSIGINTRtSIGPIPEtTruet latego_eventsRRRRR(teventRtactiontv((s/root/pmu-tools/latego.pyt setup_eventVs          t__main__itenableitdisabletlists %-45s %04stnamethexs %-45s %04xs0Usage: latego enable|disable hexevent|namedevents latego list(i?iiżi˙ii(snameshex(RRR"RR RRRRRRRRR&RtFalseR!RRRR*t__name__tsystlentargvtkeystitexit(((s/root/pmu-tools/latego.pytsf                 ***