lkml.org 
[lkml]   [2021]   [Apr]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v5] docs/zh_CN: add translations in zh_CN/dev-tools/gcov
On Wed, Apr 14, 2021 at 10:07:55PM -0700, Fangrui Song wrote:
> Reviewed-by: Fangrui Song <maskray@google.com>
>
> Inlined some suggestions.

Thanks for your review!

>
> On 2021-04-14, Alex Shi wrote:
> > Reviewed-by: Alex Shi <alexs@kernel.org>
> >
> > On 2021/4/14 下午9:21, Wu XiangCheng wrote:
> > > From: Bernard Zhao <bernard@vivo.com>
> > >
> > > Add new zh translations
> > > * zh_CN/dev-tools/gcov.rst
> > > * zh_CN/dev-tools/index.rst
> > > and link them to zh_CN/index.rst
> > >
> > > Signed-off-by: Bernard Zhao <bernard@vivo.com>
> > > Reviewed-by: Wu XiangCheng <bobwxc@email.cn>
> > > Signed-off-by: Wu XiangCheng <bobwxc@email.cn>
> > > ---
> > > +
[...]
> > > +在Linux内核里使用gcov做代码覆盖率检查
> > > +=====================================
> > > +
> > > +gcov是linux中已经集成的一个分析模块,该模块在内核中对GCC的代码覆盖率统
>
> instrumentation 一般译作 插桩,而非 分析。

Have rewrited this paragraph.
Here is "gcov profiling kernel",gcov分析核心

>
> > > +计提供了支持。
> > > +linux内核运行时的代码覆盖率数据会以gcov兼容的格式存储在debug-fs中,可
>
> 专有名词 Linux 应大写。

Done.

>
> > > +以通过gcov的 ``-o`` 选项(如下示例)获得指定文件的代码运行覆盖率统计数据
> > > +(需要跳转到内核编译路径下并且要有root权限)::
> > > +
> > > + # cd /tmp/linux-out
> > > + # gcov -o /sys/kernel/debug/gcov/tmp/linux-out/kernel spinlock.c
> > > +
> > > +这将在当前目录中创建带有执行计数注释的源代码文件。
> > > +在获得这些统计文件后,可以使用图形化的 gcov_ 前端工具(比如 lcov_ ),来实现
> > > +自动化处理linux内核的覆盖率运行数据,同时生成易于阅读的HTML格式文件。
> > > +
> > > +可能的用途:
> > > +
> > > +* 调试(用来判断每一行的代码是否已经运行过)
> > > +* 测试改进(如何修改测试代码,尽可能地覆盖到没有运行过的代码)
> > > +* 内核配置优化(对于某一个选项配置,如果关联的代码从来没有运行过,是
> > > + 否还需要这个配置)
>
> minimizing: 优化 -> 最小化/简化

Done.

>
> > > +.. _gcov: https://gcc.gnu.org/onlinedocs/gcc/Gcov.html
> > > +.. _lcov: http://ltp.sourceforge.net/coverage/lcov.php
> > > +
> > > +
> > > +准备
> > > +----
> > > +
> > > +内核打开如下配置::
> > > +
> > > + CONFIG_DEBUG_FS=y
> > > + CONFIG_GCOV_KERNEL=y
> > > +
> > > +获取整个内核的覆盖率数据,还需要打开::
> > > +
> > > + CONFIG_GCOV_PROFILE_ALL=y
> > > +
> > > +需要注意的是,整个内核开启覆盖率统计会造成内核镜像文件尺寸的增大,
> > > +同时内核运行的也会变慢一些。
>
> s/的//

Done.

>
> > > +另外,并不是所有的架构都支持整个内核开启覆盖率统计。
> > > +
> > > +代码运行覆盖率数据只在debugfs挂载完成后才可以访问::
> > > +
[...]
> > > +
> > > +编译机和测试机分离
> > > +------------------
> > > +
> > > +gcov的内核分析架构支持内核的编译和运行是在同一台机器上,也可以编译和运
>
> 分析 -> 插桩

Done.

>
> > > +行是在不同的机器上。
[...]

Thanks!

Wu
[unhandled content-type:application/pgp-signature]
\
 
 \ /
  Last update: 2021-04-15 07:39    [W:1.632 / U:0.428 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site