From 6e0a3f10bbbfe29d110c050da927684b6d77b961 Mon Sep 17 00:00:00 2001 From: LiteOS2021 Date: Tue, 14 Sep 2021 10:38:15 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20L0-L1=20=E6=94=AF=E6=8C=81Perf=20=20=20?= =?UTF-8?q?=20=201.=E3=80=90=E9=9C=80=E6=B1=82=E6=8F=8F=E8=BF=B0=E3=80=91?= =?UTF-8?q?=EF=BC=9A=20=20=20=20=20=20=20=20=20=20L0-L1=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81Perf=EF=BC=8C=E6=8F=90=E4=BE=9B2=E7=A7=8D=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E7=9A=84=E9=85=8D=E7=BD=AE=EF=BC=8C=20=E5=8F=8A3?= =?UTF-8?q?=E5=A4=A7=E7=B1=BB=E5=9E=8B=E7=9A=84=E4=BA=8B=E4=BB=B6=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=EF=BC=9A=20=20=20=20=20=20=20=20=20=202=E7=A7=8D?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=9A=E8=AE=A1=E6=95=B0=E6=A8=A1=E5=BC=8F?= =?UTF-8?q?=EF=BC=88=E4=BB=85=E7=BB=9F=E8=AE=A1=E4=BA=8B=E4=BB=B6=E5=8F=91?= =?UTF-8?q?=E7=94=9F=E6=AC=A1=E6=95=B0=EF=BC=89=E3=80=81=E9=87=87=E6=A0=B7?= =?UTF-8?q?=E6=A8=A1=E5=BC=8F=EF=BC=88=E6=94=B6=E9=9B=86=E4=B8=8A=E4=B8=8B?= =?UTF-8?q?=E6=96=87=E5=A6=82=E4=BB=BB=E5=8A=A1ID=E3=80=81pc=E3=80=81backt?= =?UTF-8?q?race=E7=AD=89=EF=BC=89=E3=80=82=20=20=20=20=20=20=20=20=20=203?= =?UTF-8?q?=E7=A7=8D=E4=BA=8B=E4=BB=B6=E7=B1=BB=E5=9E=8B=EF=BC=9ACPU?= =?UTF-8?q?=E7=A1=AC=E4=BB=B6=E4=BA=8B=E4=BB=B6=EF=BC=88cycle=E3=80=81bran?= =?UTF-8?q?ch=E3=80=81icache=E3=80=81dcache=E7=AD=89=EF=BC=89=E3=80=81OS?= =?UTF-8?q?=E8=BD=AF=E4=BB=B6=E4=BA=8B=E4=BB=B6=EF=BC=88task=20switch?= =?UTF-8?q?=E3=80=81mux=20pend=E3=80=81irq=E7=AD=89=EF=BC=89=E3=80=81?= =?UTF-8?q?=E9=AB=98=E7=B2=BE=E5=BA=A6=E5=91=A8=E6=9C=9F=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=EF=BC=88cpu=20=20=20=20=20=20=20=20=20=20clock=EF=BC=89?= =?UTF-8?q?=E3=80=82=20=20=20=20=202.=E3=80=90=E6=96=B9=E6=A1=88=E6=8F=8F?= =?UTF-8?q?=E8=BF=B0=E3=80=91=EF=BC=9A=20=20=20=20=20=20=20=20=20=20L0:=20?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=E5=9F=BA=E4=BA=8E=E4=BA=8B=E4=BB=B6?= =?UTF-8?q?=E9=87=87=E6=A0=B7=E5=8E=9F=E7=90=86=EF=BC=8C=E4=BB=A5=E6=80=A7?= =?UTF-8?q?=E8=83=BD=E4=BA=8B=E4=BB=B6=E4=B8=BA=E5=9F=BA=E7=A1=80=EF=BC=8C?= =?UTF-8?q?=E5=BD=93=E4=BA=8B=E4=BB=B6=E5=8F=91=E7=94=9F=E6=97=B6=EF=BC=8C?= =?UTF-8?q?=E7=9B=B8=E5=BA=94=E7=9A=84=E4=BA=8B=E4=BB=B6=E8=AE=A1=E6=95=B0?= =?UTF-8?q?=E5=99=A8=E6=BA=A2=E5=87=BA=E5=8F=91=E7=94=9F=E4=B8=AD=E6=96=AD?= =?UTF-8?q?=EF=BC=8C=E5=9C=A8=E4=B8=AD=E6=96=AD=E5=A4=84=E7=90=86=E5=87=BD?= =?UTF-8?q?=E6=95=B0=E4=B8=AD=E8=AE=B0=E5=BD=95=E4=BA=8B=E4=BB=B6=E4=BF=A1?= =?UTF-8?q?=E6=81=AF=EF=BC=8C=E5=8C=85=E6=8B=AC=E5=BD=93=E5=89=8D=E7=9A=84?= =?UTF-8?q?pc=E3=80=81=E5=BD=93=E5=89=8D=E8=BF=90=20=20=20=20=20=20=20=20?= =?UTF-8?q?=20=E8=A1=8C=E7=9A=84=E4=BB=BB=E5=8A=A1ID=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E6=A0=88=E7=AD=89=E4=BF=A1=E6=81=AF=E3=80=82?= =?UTF-8?q?=20=20=20=20=20=20=20=20=20=20L1:=20=20=20=20=20=20=20=20=20=20?= =?UTF-8?q?=E6=96=B0=E5=A2=9Eperf=E5=AD=97=E7=AC=A6=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=EF=BC=8C=E4=BD=8D=E4=BA=8E=E2=80=9Cdev/perf=E2=80=9D=EF=BC=8C?= =?UTF-8?q?=E9=80=9A=E8=BF=87=E5=AF=B9=E8=AE=BE=E5=A4=87=E8=8A=82=E7=82=B9?= =?UTF-8?q?=E7=9A=84read\ioctl,=E5=AE=9E=E7=8E=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=80=81perf?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BREAKING CHANGE: 1.新增一系列perf的对外API,位于los_perf.h中. LOS_PerfInit配置采样数据缓冲区 LOS_PerfStart开启Perf采样 LOS_PerfStop停止Perf采样 LOS_PerfConfig配置Perf采样事件 LOS_PerfDataRead读取采样数据 LOS_PerfNotifyHookReg 注册采样数据缓冲区的钩子函数 LOS_PerfFlushHookReg 注册缓冲区刷cache的钩子 2. 用户态新增perf命令 【Usage】: ./perf [start] /[start id] Start perf. ./perf [stop] Stop perf. ./perf [read nBytes] Read nBytes raw data from perf buffer and print out. ./perf [list] List events to be used in -e. ./perf [stat] or [record]