From 657f05c15559ba063d22a590232dcb9cfd3ae645 Mon Sep 17 00:00:00 2001 From: Hailong Liu Date: Tue, 9 May 2023 09:12:55 +0000 Subject: [PATCH] unity_nosched: Less wakeup events Signed-off-by: Hailong Liu --- .../unity_nosched/.unity_nosched.bpf.c.swp | Bin 0 -> 16384 bytes .../plugin/unity_nosched/.unity_nosched.h.swp | Bin 0 -> 16384 bytes .../plugin/unity_nosched/unity_nosched.bpf.c | 5 ++++- .../plugin/unity_nosched/unity_nosched.h | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 source/tools/monitor/unity/collector/plugin/unity_nosched/.unity_nosched.bpf.c.swp create mode 100644 source/tools/monitor/unity/collector/plugin/unity_nosched/.unity_nosched.h.swp diff --git a/source/tools/monitor/unity/collector/plugin/unity_nosched/.unity_nosched.bpf.c.swp b/source/tools/monitor/unity/collector/plugin/unity_nosched/.unity_nosched.bpf.c.swp new file mode 100644 index 0000000000000000000000000000000000000000..8fe7eb4594c9878637e5e5eefb0133fefd897198 GIT binary patch literal 16384 zcmeI3Yit}>6~`xSO1dd&P!XbtMqE2$HS5~mbrRB0Kg7mf$HuRfy$(%6bTyv6>z#Ub zW;!$LM~wp&X()VYBR*6rLOenxBq~5Ef)5cwpb8;@5CViKd;#&Ht%{(4R45XH|G9T& zANJZwA4mwzNq-4K@N}B^$VP-xS%AXV;f4MFR6F<*zum8CKLtMk-v`ftFM=-s50rrkCcqK!4+M37 z1g?XtU>S^pqu_4vDtzKO@Fds(aX&wLpZrs^80Uy)3XE7H&na zpFEMFqGWH?{7Pum1SgqJKvG~!Uxanvk%q7;dRHjm7Gbc`<`p{BYm9EiHkLD)%#OND z=Q;-8Lm${MEZeC>m-LW~mXhDQ*@QA9o5;%*vC+B5ac*m;EhnT-Yq1AY8AgA4Sr2`A zFi7Ow7#A`>d7_0}8YX1IYHXX&_D0@BS#oet4DCp<9NGmJya>ed6{%TgI_p)jg4`L8uXk zGIJfKWqaN-r_^a>7@eChaGFbMqG5bZ%%Zo%S><%^G`71>GAwa*JA^~23(Tj1#c7si zx=}9s7fw%>_($gE$8^WfTx2673>TD%^aWll%=78F*)x3ucn&}U)j<7pSi}6n0_p_T zvI8SZ4@DyKxE@-4BQ$>ls?lDghXf#%7K2!=-KS~$x)67|#ZP-^H78lnokkE2DnF5j zztL{)s?m}a>Z-Y3X1Wf1u`x$G^b;zXRl{e~lcR;%g~El4OfL7fWeO({-FSAg?y*)zrIZkQDN9ooSKs%Ss93qd!Tk@Gql)>jR?E;y|`%}4+7V{&Ms5_m@KnICR= zs7p>dlP~hpxnh9^d7Kx{7G_I4KR=&8hxQ^{Z<0dszGbIMBulB(c-}=1TBWkgheExK z_9x9=)QokGPWqO>qk1O)0H2wgo#eCgEk!!3Ia*xg6ZwUSb`2pIhH8i;|IX!dy-01E z3yHFu)Y?KRKRU(73dPa{)`XTF6jh1shYE2H3`{ws5>netr$m+J^P`2{*l6+QuPiFc zWNHwx&SDk7HDr)oJ7~Q_<@QGm?P;VYJ9UI_?5ZOf?1svbY}$w^<&HvkddzdZm|^-R z^&Fc_T*II!ksFjdT)Az*cHJoJX=F4!64x1Qa*LTkDnGcD(PDXRYf9?miPnt9B9zi; zDPmdHRvMEjmNHeCpH+i6ImXAQ^Jf-PdX9Zej?6e8&o7jsAs(G6wzLhG-=3S&u|!O> zp&|A`$fuE&PBOPxDlV3EI%M?1myVI|YDX={wCiQTy5*1K<6pt|SG!xX)XC~WD{M<1 zGV!FQ-^W)+nq`MpYuHNF*C~; zKoNWx6hI!_2lj#IagM(Z9s!rY7Vv=wTwsH7&fN9tD@d29S2!c_2GKHgPU#*5m?!7KV7%0 zER!O=RT+dfTUw8$AeD#9QB=0gR?VKGS{#p7qRPTHHdJbRD7;fdSt=i?>D5syjzPv| z5$gzW#vl zG3e-EDTQu-*+4N@)dfQUa5Wu*;zL|p1V26`!G+}|&SC1v zx;;K0=iV?{O>yd*3RA~^K+%U-dK`Kmp|Z(6u-tZ{WRQDs;U z=1~-U4!x}UZ{F4d2s^W$tURO22nOe6BQ!4LF2X-${6nl$yxVedFDC_pf0SaCksxcx zdzxt%22N5f86cvno-bAr5Jx~Xk|h(`WT}*&o{Tl z`f@ng$<-_#@VbYt!f+j5*Z^z_{td`|yaYjK*cwd;VUq*-yQ4!Kse)d?m-^|J_C(`z2>HQD_ r9@MVN+SOF?TJz?Xe);5iV{3o3*4@Y}T7#>O~gi=6o01m(;RwO6NcSETfH7IFZHPngICMj(cX;^#5@iyxncXypO ztqfEMA?S&(0|hF60XINxL0mZ@TFQlgP$5(}A%R4BW_P{u+D@?DfKWOsJ>K1!*?DK4 zd1w4Svvzvm*yI#_zHgY|c$ARy4=?D~p4>~$|FMhMLbx*dpAKUoT^Q61d*$RAad!B* zGnN=y*>h^4=CM~~h5csE>~~fjZMokOMLWa$T_H@TKQAo96?T6Sr`7(9FioD3_XV@K zWLSPOvxJk$aXot1m#eX)5)=c9fd~UdH`}{+7uh{DI3Uww9qsh-$L1qN)Qw_5F`yVw z3@8Q^1BwB~fMP%~u(cU*3){%6=;F4Zo1?+`o~rY`!TmGA`Gu~d=8|5n-3E5I`A~`Wg8(!fS(`0Gr+UJ<@*Vl1%BB<$eTbraP>Yy=7C$=33&^M z0bgS?<0arXY$;MMJCJxNSJzJKR=UuH?tF=o&~y}hT{;6c|O2=(pny$sFhM94QruH)QYTNYkRVsqMjd%^hx~A30|yw zUhMlxBQq$<*j?etlC+lnn9?X?Tg{Wp^S^hn5$|biibffe&(yBTqQI>RPlgxQUwPNJ z7`5`>d2)NWRCcZ3xF&O=eF+WJTbCtq@n*U5n-jHyZ%JAn{ejIJ{HpoFn5m@^POwc5 zFV_0uw~`;=GZ zNtqOmOFK=oNcjr4T!#va9+;V@u};0+`*tx=fMqPVhh_>zxSr3-9r5m0u_6qe<}^z; zIrEJ84TyW`-5K{x50zdDt37bl;+|nRk>3;$;a5?TJ!$putB_A4^efsHZGIlCRUyZR zxjCC7iassuWp2kcd#Qn$>Q}J|bV{zG4M22T%(yho`4QTEs)zc-%4XG2=C{IeHP^_{ zLQswCd0o&etVSF2Q?A0Z87^XeKuNp91k^J;4Fu6>C1J<%&dj!28TK}m7JWOKh6#@Mo4Ldv`GSOo)Nar z^&Sc$mK}E5aC6W?5C`6G$Wf|jImVI&X<-U$DfrOfmYxH69=t&zhjWWroa^NZndOX- zV4O^lZ)F8N=QpR0AvrEiE@*1j)Rw|$F{ln6EUzRpiK7SE)Yx%0J2!UVFq=rs%pGdm zJ%sKDOO4E%N=;9)>7#9f14H;Be>n#_iOr5p%_I}-P{>v!5!xO4|95ES3((I}|CitI zUxbby2EKz%&jH(jkD<}`0N+EOp9Ho8m!Qk{0@tC*O<)J`DRlVEfNaCtfI1WdiUGxdVn8vV7`ST~h;d6dvIt*-vlrv)+`u0KJt5IG zLOctjHRAMkvm$hkFs#U{H8(!CnqvZ=w+L;PFzFev1ypj8Lt>m>rR!2|dn=2kv>q&%N>n%-s-Glr4*)b?nSgO zvhJ<@vH}aP$Y?I77&c+AHu=g;@>9!LdBd_dF`b%9Of@|>WUbXl)XKT)>`l6lT9GS% iyXULYkE<8`)=fsOY&0imcW54yHSY~pyurD&Nd5*xclHSY literal 0 HcmV?d00001 diff --git a/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.bpf.c b/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.bpf.c index 85011166..323d2097 100644 --- a/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.bpf.c +++ b/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.bpf.c @@ -138,8 +138,11 @@ int BPF_KPROBE(account_process_tick, struct task_struct *p, int user_tick) bpf_get_current_comm(&event.comm, sizeof(event.comm)); event.ret = bpf_get_stackid(ctx, &stackmap, KERN_STACKID_FLAGS); latp->last_perf_event = now; - bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, + if (latp->recorded == 0) { + bpf_perf_event_output(ctx, &events, BPF_F_CURRENT_CPU, &event, sizeof(event)); + latp->recorded = 1; + } } } } else { diff --git a/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.h b/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.h index f7280f4b..4f411ad9 100644 --- a/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.h +++ b/source/tools/monitor/unity/collector/plugin/unity_nosched/unity_nosched.h @@ -14,7 +14,7 @@ struct args { struct latinfo { unsigned long long last_seen_need_resched_ns; unsigned long long last_perf_event; - int ticks_without_resched; + int recorded, ticks_without_resched; }; #ifndef __VMLINUX_H__ -- Gitee