* [PATCH 0/2] docs/zh_CN: move and update sparse @ 2021-11-01 7:50 Yanteng Si 2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si 2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si 0 siblings, 2 replies; 7+ messages in thread From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw) To: corbet, alexs, bobwxc, seakeel, leoyang.li Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, siyanteng01, src.res, wanjiabing, bernard The Chinese sparse documentation is too old, so let's update it to the latest version and move it to ../zh_CN/dev-tools/. Yanteng Si (2): docs/zh_CN: move sparse into dev-tools docs/zh_CN: update sparse translation .../translations/zh_CN/dev-tools/index.rst | 2 +- .../translations/zh_CN/dev-tools/sparse.rst | 108 ++++++++++++++++++ Documentation/translations/zh_CN/sparse.txt | 91 --------------- 3 files changed, 109 insertions(+), 92 deletions(-) create mode 100644 Documentation/translations/zh_CN/dev-tools/sparse.rst delete mode 100644 Documentation/translations/zh_CN/sparse.txt -- 2.27.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] docs/zh_CN: move sparse into dev-tools 2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si @ 2021-11-01 7:50 ` Yanteng Si 2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si 1 sibling, 0 replies; 7+ messages in thread From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw) To: corbet, alexs, bobwxc, seakeel, leoyang.li Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, siyanteng01, src.res, wanjiabing, bernard ../zh_CN/saprse.txt is alone at here, let's move it to ../zh_CN/dev-tools/sparse.rst. Signed-off-by: Yanteng Si <siyanteng@loongson.cn> --- Documentation/translations/zh_CN/dev-tools/index.rst | 2 +- .../translations/zh_CN/{sparse.txt => dev-tools/sparse.rst} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename Documentation/translations/zh_CN/{sparse.txt => dev-tools/sparse.rst} (100%) diff --git a/Documentation/translations/zh_CN/dev-tools/index.rst b/Documentation/translations/zh_CN/dev-tools/index.rst index 0f770b8664e9..77a8c44cdf49 100644 --- a/Documentation/translations/zh_CN/dev-tools/index.rst +++ b/Documentation/translations/zh_CN/dev-tools/index.rst @@ -22,13 +22,13 @@ Documentation/translations/zh_CN/dev-tools/testing-overview.rst :maxdepth: 2 testing-overview + sparse gcov kasan Todolist: - coccinelle - - sparse - kcov - ubsan - kmemleak diff --git a/Documentation/translations/zh_CN/sparse.txt b/Documentation/translations/zh_CN/dev-tools/sparse.rst similarity index 100% rename from Documentation/translations/zh_CN/sparse.txt rename to Documentation/translations/zh_CN/dev-tools/sparse.rst -- 2.27.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] docs/zh_CN: update sparse translation 2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si 2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si @ 2021-11-01 7:50 ` Yanteng Si 2021-11-01 21:01 ` Leo Li 1 sibling, 1 reply; 7+ messages in thread From: Yanteng Si @ 2021-11-01 7:50 UTC (permalink / raw) To: corbet, alexs, bobwxc, seakeel, leoyang.li Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, siyanteng01, src.res, wanjiabing, bernard Sparse documents are too outdated,let's update sparse.rst to the latest version. Signed-off-by: Yanteng Si <siyanteng@loongson.cn> --- .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++-------- 1 file changed, 60 insertions(+), 43 deletions(-) diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst b/Documentation/translations/zh_CN/dev-tools/sparse.rst index 0f444b83d639..405653d156d9 100644 --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst @@ -1,34 +1,34 @@ -Chinese translated version of Documentation/dev-tools/sparse.rst +Copyright 2004 Linus Torvalds +Copyright 2004 Pavel Machek <pavel@ucw.cz> +Copyright 2006 Bob Copeland <me@bobcopeland.com> -If you have any comment or update to the content, please contact the -original document maintainer directly. However, if you have a problem -communicating in English you can also ask the Chinese maintainer for -help. Contact the Chinese maintainer if this translation is outdated -or if there is a problem with the translation. +.. include:: ../disclaimer-zh_CN.rst -Chinese maintainer: Li Yang <leoyang.li@nxp.com> ---------------------------------------------------------------------- -Documentation/dev-tools/sparse.rst 的中文翻译 +:Original: Documentation/dev-tools/sparse.rst -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使用英文 -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时或者翻 -译存在问题,请联系中文版维护者。 +:翻译: -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com> -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com> + Li Yang <leoyang.li@nxp.com> +:校译: -以下为正文 ---------------------------------------------------------------------- + 司延腾 Yanteng Si <siyanteng@loongson.cn> -Copyright 2004 Linus Torvalds -Copyright 2004 Pavel Machek <pavel@ucw.cz> -Copyright 2006 Bob Copeland <me@bobcopeland.com> +.. _cn_sparse: + +Sparse +====== + +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些潜在问题。 关 +于sparse的概述,请参见https://lwn.net/Articles/689907/;本文档包含 +一些针对内核的sparse信息。 +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方网页上找到: +https://sparse.docs.kernel.org。 使用 sparse 工具做类型检查 ~~~~~~~~~~~~~~~~~~~~~~~~~~ -"__bitwise" 是一种类型属性,所以你应该这样使用它: +``__bitwis`` 是一种类型属性,所以你应该这样使用它:: typedef int __bitwise pm_request_t; @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland <me@bobcopeland.com> PM_RESUME = (__force pm_request_t) 2 }; -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用"__force" -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要强制进行转 -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum pm_request"也将 -会使用那个类型做为底层实现。 +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使用 +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们确实 +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这里的 +``enum pm_request`` 也将会使用那个类型做为底层实现。 -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在 gcc -看来它们只不过是普通的整数。 +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失, +最后在gcc看来它们只不过是普通的整数。 -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个特殊的"int -__bitwise"类型。 +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个特殊的 +``int__bitwise`` 类型。 所以更简单的办法只要这样做: @@ -57,35 +57,52 @@ __bitwise"类型。 现在你就有了严格的类型检查所需要的所有基础架构。 -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式整数使用而 -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不同位方 -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),对他们来说 -常数"0"确实是特殊的。 +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方式整数使用而 +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保不同位方 +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他),对他们来说常数 +``0`` 确实 *是* 特殊的。 + +使用sparse进行锁检查 +-------------------- + +下面的宏对于gcc来说是未定义的,在sparse运行时定义,以使用sparse的 ``上下文`` +跟踪功能,应用于锁定。 这些注释告诉sparse什么时候有锁,以及注释的函数的进入和 +退出。 + +__must_hold - 指定的锁在函数进入和退出时被持有。 + +__acquires - 指定的锁在函数退出时被持有,但在进入时不被持有。 + +__releases - 指定的锁在函数进入时被持有,但在退出时不被持有。 + +如果函数在不持有锁的情况下进入和退出,在函数内部以平衡的方式获取和释放锁,则不 +需要注释。 +上面的三个注释是针对sparse否则会报告上下文不平衡的情况。 获取 sparse 工具 ~~~~~~~~~~~~~~~~ -你可以从 Sparse 的主页获取最新的发布版本: +你可以从Sparse的主页获取最新的发布版本: - http://www.kernel.org/pub/linux/kernel/people/josh/sparse/ + https://www.kernel.org/pub/software/devel/sparse/dist/ -或者,你也可以使用 git 克隆最新的 sparse 开发版本: +或者,你也可以使用git克隆最新的sparse开发版本: - git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git + git://git.kernel.org/pub/scm/devel/sparse/sparse.git 一旦你下载了源码,只要以普通用户身份运行: make make install -它将会被自动安装到你的 ~/bin 目录下。 +如果是标准的用户,它将会被自动安装到你的~/bin目录下。 -使用 sparse 工具 -~~~~~~~~~~~~~~~~ +使用sparse工具 +~~~~~~~~~~~~~~ -用"make C=1"命令来编译内核,会对所有重新编译的 C 文件使用 sparse 工具。 -或者使用"make C=2"命令,无论文件是否被重新编译都会对其使用 sparse 工具。 +用 ``make C=1`` 命令来编译内核,会对所有重新编译的C文件使用sparse工具。 +或者使用 ``make C=2`` 命令,无论文件是否被重新编译都会对其使用sparse工具。 如果你已经编译了内核,用后一种方式可以很快地检查整个源码树。 -make 的可选变量 CHECKFLAGS 可以用来向 sparse 工具传递参数。编译系统会自 -动向 sparse 工具传递 -Wbitwise 参数。 +make的可选变量CHECKFLAGS可以用来向sparse工具传递参数。编译系统会自动向 +sparse工具传递-Wbitwise参数。 -- 2.27.0 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] docs/zh_CN: update sparse translation 2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si @ 2021-11-01 21:01 ` Leo Li 2021-11-02 8:52 ` yanteng si 0 siblings, 1 reply; 7+ messages in thread From: Leo Li @ 2021-11-01 21:01 UTC (permalink / raw) To: Yanteng Si, corbet, alexs, bobwxc, seakeel Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing, bernard > -----Original Message----- > From: Yanteng Si <siyanteng01@gmail.com> > Sent: Monday, November 1, 2021 2:50 AM > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com> > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org; > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org; > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn; > wanjiabing@vivo.com; bernard@vivo.com > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation > > Sparse documents are too outdated,let's update sparse.rst to the latest > version. > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn> > --- > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++-------- > 1 file changed, 60 insertions(+), 43 deletions(-) > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst > b/Documentation/translations/zh_CN/dev-tools/sparse.rst > index 0f444b83d639..405653d156d9 100644 > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst > @@ -1,34 +1,34 @@ > -Chinese translated version of Documentation/dev-tools/sparse.rst > +Copyright 2004 Linus Torvalds > +Copyright 2004 Pavel Machek <pavel@ucw.cz> > +Copyright 2006 Bob Copeland <me@bobcopeland.com> > > -If you have any comment or update to the content, please contact the > -original document maintainer directly. However, if you have a problem > -communicating in English you can also ask the Chinese maintainer for > -help. Contact the Chinese maintainer if this translation is outdated > -or if there is a problem with the translation. > +.. include:: ../disclaimer-zh_CN.rst > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com> > ---------------------------------------------------------------------- > -Documentation/dev-tools/sparse.rst 的中文翻译 > +:Original: Documentation/dev-tools/sparse.rst > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使 > 用英文 > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时 > 或者翻 > -译存在问题,请联系中文版维护者。 > +:翻译: > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com> > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com> > + Li Yang <leoyang.li@nxp.com> > > +:校译: > > -以下为正文 > ---------------------------------------------------------------------- > + 司延腾 Yanteng Si <siyanteng@loongson.cn> > > -Copyright 2004 Linus Torvalds > -Copyright 2004 Pavel Machek <pavel@ucw.cz> > -Copyright 2006 Bob Copeland <me@bobcopeland.com> > +.. _cn_sparse: > + > +Sparse > +====== > + > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些 > 潜在问题。 关 > +于sparse的概述,请参见 > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.n > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c30 > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb > Mo%3D&reserved=0;本文档包含 > +一些针对内核的sparse信息。 > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方 > 网页上找到: > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspar > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23 > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635% > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a > mp;reserved=0。 > > 使用 sparse 工具做类型检查 > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > > -"__bitwise" 是一种类型属性,所以你应该这样使用它: > +``__bitwis`` 是一种类型属性,所以你应该这样使用它:: Typo. __bitwise. Btw, not sure why you are changing all the " in original document to ``. > > typedef int __bitwise pm_request_t; > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland > <me@bobcopeland.com> > PM_RESUME = (__force pm_request_t) 2 > }; > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用 > "__force" > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要 > 强制进行转 > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum > pm_request"也将 > -会使用那个类型做为底层实现。 > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使 > 用 > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们 > 确实 > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这 > 里的 > +``enum pm_request`` 也将会使用那个类型做为底层实现。 > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在 > gcc > -看来它们只不过是普通的整数。 > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失, > +最后在gcc看来它们只不过是普通的整数。 > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个 > 特殊的"int > -__bitwise"类型。 > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一 > 个特殊的 > +``int__bitwise`` 类型。 > > 所以更简单的办法只要这样做: > > @@ -57,35 +57,52 @@ __bitwise"类型。 > > 现在你就有了严格的类型检查所需要的所有基础架构。 > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式 > 整数使用而 > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不 > 同位方 > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他), > 对他们来说 > -常数"0"确实是特殊的。 > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方 > 式整数使用而 > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保 > 不同位方 > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他), > 对他们来说常数 > +``0`` 确实 *是* 特殊的。 Not sure if the italic is a standard way to emphasis in Chinese, maybe bold more common. > + > +使用sparse进行锁检查 > +-------------------- > + > +下面的宏对于gcc来说是未定义的,在sparse运行时定义,以使用 > sparse的 ``上下文`` > +跟踪功能,应用于锁定。 这些注释告诉sparse什么时候有锁,以及注 > 释的函数的进入和 > +退出。 > + > +__must_hold - 指定的锁在函数进入和退出时被持有。 > + > +__acquires - 指定的锁在函数退出时被持有,但在进入时不被持有。 > + > +__releases - 指定的锁在函数进入时被持有,但在退出时不被持有。 > + > +如果函数在不持有锁的情况下进入和退出,在函数内部以平衡的方式 > 获取和释放锁,则不 > +需要注释。 > +上面的三个注释是针对sparse否则会报告上下文不平衡的情况。 > > 获取 sparse 工具 > ~~~~~~~~~~~~~~~~ > > -你可以从 Sparse 的主页获取最新的发布版本: > +你可以从Sparse的主页获取最新的发布版本: > > - > https://eur01.safelinks.protection.outlook.com/?url=http%3A%2F%2 > Fwww.kernel.org%2Fpub%2Flinux%2Fkernel%2Fpeople%2Fjosh%2Fsparse% > 2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C233b2566e2f74928165 > c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771 > 3498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLC > JQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=opa > QpoTYC2szu9dxnBbbG9%2BPM5rJ%2Fi%2BnzUnoRxP%2BOKQ%3D&res > erved=0 > + > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F% > 2Fwww.kernel.org%2Fpub%2Fsoftware%2Fdevel%2Fsparse%2Fdist%2F&am > p;data=04%7C01%7Cleoyang.li%40nxp.com%7C233b2566e2f74928165c08d99 > d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771349881 > 4921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV > 2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=7v7oad%2B > TDfHAS0Im2SsRFZfwh1YpaLjCH9vqsfFBTjA%3D&reserved=0 > > -或者,你也可以使用 git 克隆最新的 sparse 开发版本: > +或者,你也可以使用git克隆最新的sparse开发版本: > > - git://git.kernel.org/pub/scm/linux/kernel/git/josh/sparse.git > + git://git.kernel.org/pub/scm/devel/sparse/sparse.git > > 一旦你下载了源码,只要以普通用户身份运行: > > make > make install > > -它将会被自动安装到你的 ~/bin 目录下。 > +如果是标准的用户,它将会被自动安装到你的~/bin目录下。 > > -使用 sparse 工具 > -~~~~~~~~~~~~~~~~ > +使用sparse工具 > +~~~~~~~~~~~~~~ > > -用"make C=1"命令来编译内核,会对所有重新编译的 C 文件使用 sparse > 工具。 > -或者使用"make C=2"命令,无论文件是否被重新编译都会对其使用 > sparse 工具。 > +用 ``make C=1`` 命令来编译内核,会对所有重新编译的C文件使用 > sparse工具。 > +或者使用 ``make C=2`` 命令,无论文件是否被重新编译都会对其使用 > sparse工具。 > 如果你已经编译了内核,用后一种方式可以很快地检查整个源码树。 > > -make 的可选变量 CHECKFLAGS 可以用来向 sparse 工具传递参数。编译 > 系统会自 > -动向 sparse 工具传递 -Wbitwise 参数。 > +make的可选变量CHECKFLAGS可以用来向sparse工具传递参数。编译 > 系统会自动向 > +sparse工具传递-Wbitwise参数。 > -- > 2.27.0 ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] docs/zh_CN: update sparse translation 2021-11-01 21:01 ` Leo Li @ 2021-11-02 8:52 ` yanteng si 2021-11-05 1:56 ` Leo Li 0 siblings, 1 reply; 7+ messages in thread From: yanteng si @ 2021-11-02 8:52 UTC (permalink / raw) To: Leo Li Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing, bernard Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道: > > > > > -----Original Message----- > > From: Yanteng Si <siyanteng01@gmail.com> > > Sent: Monday, November 1, 2021 2:50 AM > > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com> > > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org; > > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org; > > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn; > > wanjiabing@vivo.com; bernard@vivo.com > > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation > > > > Sparse documents are too outdated,let's update sparse.rst to the latest > > version. > > > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn> > > --- > > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++-------- > > 1 file changed, 60 insertions(+), 43 deletions(-) > > > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > index 0f444b83d639..405653d156d9 100644 > > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > @@ -1,34 +1,34 @@ > > -Chinese translated version of Documentation/dev-tools/sparse.rst > > +Copyright 2004 Linus Torvalds > > +Copyright 2004 Pavel Machek <pavel@ucw.cz> > > +Copyright 2006 Bob Copeland <me@bobcopeland.com> > > > > -If you have any comment or update to the content, please contact the > > -original document maintainer directly. However, if you have a problem > > -communicating in English you can also ask the Chinese maintainer for > > -help. Contact the Chinese maintainer if this translation is outdated > > -or if there is a problem with the translation. > > +.. include:: ../disclaimer-zh_CN.rst > > > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com> > > ---------------------------------------------------------------------- > > -Documentation/dev-tools/sparse.rst 的中文翻译 > > +:Original: Documentation/dev-tools/sparse.rst > > > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果你使 > > 用英文 > > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不及时 > > 或者翻 > > -译存在问题,请联系中文版维护者。 > > +:翻译: > > > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com> > > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com> > > + Li Yang <leoyang.li@nxp.com> > > > > +:校译: > > > > -以下为正文 > > ---------------------------------------------------------------------- > > + 司延腾 Yanteng Si <siyanteng@loongson.cn> > > > > -Copyright 2004 Linus Torvalds > > -Copyright 2004 Pavel Machek <pavel@ucw.cz> > > -Copyright 2006 Bob Copeland <me@bobcopeland.com> > > +.. _cn_sparse: > > + > > +Sparse > > +====== > > + > > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一些 > > 潜在问题。 关 > > +于sparse的概述,请参见 > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flwn.n > > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com > > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c30 > > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey > > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb > > Mo%3D&reserved=0;本文档包含 > > +一些针对内核的sparse信息。 > > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官方 > > 网页上找到: > > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fspar > > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23 > > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635% > > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a > > mp;reserved=0。 > > > > 使用 sparse 工具做类型检查 > > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > -"__bitwise" 是一种类型属性,所以你应该这样使用它: > > +``__bitwis`` 是一种类型属性,所以你应该这样使用它:: > > Typo. __bitwise. OK,Thanks! > > Btw, not sure why you are changing all the " in original document to ``. sorry,I will recover back! > > > > > typedef int __bitwise pm_request_t; > > > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland > > <me@bobcopeland.com> > > PM_RESUME = (__force pm_request_t) 2 > > }; > > > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数(使用 > > "__force" > > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需要 > > 强制进行转 > > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum > > pm_request"也将 > > -会使用那个类型做为底层实现。 > > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数(使 > > 用 > > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里我们 > > 确实 > > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型,这 > > 里的 > > +``enum pm_request`` 也将会使用那个类型做为底层实现。 > > > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最后在 > > gcc > > -看来它们只不过是普通的整数。 > > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失, > > +最后在gcc看来它们只不过是普通的整数。 > > > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一个 > > 特殊的"int > > -__bitwise"类型。 > > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成一 > > 个特殊的 > > +``int__bitwise`` 类型。 > > > > 所以更简单的办法只要这样做: > > > > @@ -57,35 +57,52 @@ __bitwise"类型。 > > > > 现在你就有了严格的类型检查所需要的所有基础架构。 > > > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方式 > > 整数使用而 > > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确保不 > > 同位方 > > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他), > > 对他们来说 > > -常数"0"确实是特殊的。 > > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位方 > > 式整数使用而 > > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来确保 > > 不同位方 > > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其他), > > 对他们来说常数 > > +``0`` 确实 *是* 特殊的。 > > Not sure if the italic is a standard way to emphasis in Chinese, maybe bold more common. yes, "*是*" is bold,Thanks. Thanks, Yanteng ^ permalink raw reply [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] docs/zh_CN: update sparse translation 2021-11-02 8:52 ` yanteng si @ 2021-11-05 1:56 ` Leo Li 2021-11-05 2:07 ` yanteng si 0 siblings, 1 reply; 7+ messages in thread From: Leo Li @ 2021-11-05 1:56 UTC (permalink / raw) To: yanteng si Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing, bernard > -----Original Message----- > From: yanteng si <siyanteng01@gmail.com> > Sent: Tuesday, November 2, 2021 3:52 AM > To: Leo Li <leoyang.li@nxp.com> > Cc: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > seakeel@gmail.com; Yanteng Si <siyanteng@loongson.cn>; > chenhuacai@kernel.org; jiaxun.yang@flygoat.com; linux- > doc@vger.kernel.org; realpuyuwang@gmail.com; src.res@email.cn; > wanjiabing@vivo.com; bernard@vivo.com > Subject: Re: [PATCH 2/2] docs/zh_CN: update sparse translation > > Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道: > > > > > > > > > -----Original Message----- > > > From: Yanteng Si <siyanteng01@gmail.com> > > > Sent: Monday, November 1, 2021 2:50 AM > > > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > > > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com> > > > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org; > > > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org; > > > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn; > > > wanjiabing@vivo.com; bernard@vivo.com > > > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation > > > > > > Sparse documents are too outdated,let's update sparse.rst to the > > > latest version. > > > > > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn> > > > --- > > > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++-------- > > > 1 file changed, 60 insertions(+), 43 deletions(-) > > > > > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > index 0f444b83d639..405653d156d9 100644 > > > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > @@ -1,34 +1,34 @@ > > > -Chinese translated version of Documentation/dev-tools/sparse.rst > > > +Copyright 2004 Linus Torvalds > > > +Copyright 2004 Pavel Machek <pavel@ucw.cz> Copyright 2006 Bob > > > +Copeland <me@bobcopeland.com> > > > > > > -If you have any comment or update to the content, please contact > > > the -original document maintainer directly. However, if you have a > > > problem -communicating in English you can also ask the Chinese > > > maintainer for -help. Contact the Chinese maintainer if this > > > translation is outdated -or if there is a problem with the translation. > > > +.. include:: ../disclaimer-zh_CN.rst > > > > > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com> > > > -------------------------------------------------------------------- > > > -- -Documentation/dev-tools/sparse.rst 的中文翻译 > > > +:Original: Documentation/dev-tools/sparse.rst > > > > > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果 > 你使 > > > 用英文 > > > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不 > 及时 > > > 或者翻 > > > -译存在问题,请联系中文版维护者。 > > > +:翻译: > > > > > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com> > > > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com> > > > + Li Yang <leoyang.li@nxp.com> > > > > > > +:校译: > > > > > > -以下为正文 > > > -------------------------------------------------------------------- > > > -- > > > + 司延腾 Yanteng Si <siyanteng@loongson.cn> > > > > > > -Copyright 2004 Linus Torvalds > > > -Copyright 2004 Pavel Machek <pavel@ucw.cz> -Copyright 2006 Bob > > > Copeland <me@bobcopeland.com> > > > +.. _cn_sparse: > > > + > > > +Sparse > > > +====== > > > + > > > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一 > 些 > > > 潜在问题。 关 > > > +于sparse的概述,请参见 > > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flw > > > > n.n%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C779b119cb785486 > 8054 > > > > 708d99dde188f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771 > 4399 > > > > 496081646%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj > oiV2luMz > > > > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ohSPyKOTZFiwB2 > %2F% > > > 2BDXR2%2BDJk1avo9MJXUVLP7q%2Fw%2FI0%3D&reserved=0 > > > > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com > > > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c > 5c30 > > > > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey > > > > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > > > > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb > > > Mo%3D&reserved=0;本文档包含 > > > +一些针对内核的sparse信息。 > > > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官 > 方 > > > 网页上找到: > > > > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fs > > > +par > > > > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23 > > > > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635% > > > > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > > > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > > > > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a > > > mp;reserved=0。 > > > > > > 使用 sparse 工具做类型检查 > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > -"__bitwise" 是一种类型属性,所以你应该这样使用它: > > > +``__bitwis`` 是一种类型属性,所以你应该这样使用它:: > > > > Typo. __bitwise. > OK,Thanks! > > > > Btw, not sure why you are changing all the " in original document to ``. > sorry,I will recover back! > > > > > > > > typedef int __bitwise pm_request_t; > > > > > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland > <me@bobcopeland.com> > > > PM_RESUME = (__force pm_request_t) 2 > > > }; > > > > > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数 > (使用 > > > "__force" > > > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需 > 要 > > > 强制进行转 > > > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum > > > pm_request"也将 > > > -会使用那个类型做为底层实现。 > > > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数 > (使 > > > 用 > > > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里 > 我们 > > > 确实 > > > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型, > 这 > > > 里的 > > > +``enum pm_request`` 也将会使用那个类型做为底层实现。 > > > > > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最 > 后在 > > > gcc > > > -看来它们只不过是普通的整数。 > > > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失, > > > +最后在gcc看来它们只不过是普通的整数。 > > > > > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成 > 一个 > > > 特殊的"int > > > -__bitwise"类型。 > > > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成 > 一 > > > 个特殊的 > > > +``int__bitwise`` 类型。 > > > > > > 所以更简单的办法只要这样做: > > > > > > @@ -57,35 +57,52 @@ __bitwise"类型。 > > > > > > 现在你就有了严格的类型检查所需要的所有基础架构。 > > > > > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方 > 式 > > > 整数使用而 > > > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确 > 保不 > > > 同位方 > > > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其 > 他), > > > 对他们来说 > > > -常数"0"确实是特殊的。 > > > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位 > 方 > > > 式整数使用而 > > > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来 > 确保 > > > 不同位方 > > > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其 > 他), > > > 对他们来说常数 > > > +``0`` 确实 *是* 特殊的。 > > > > Not sure if the italic is a standard way to emphasis in Chinese, maybe bold > more common. > yes, "*是*" is bold,Thanks. According to the document here https://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html#inline-markup-and-special-characters-e-g-bold-italic-verbatim The *italic* is for italic, while **bold** is for bold. ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] docs/zh_CN: update sparse translation 2021-11-05 1:56 ` Leo Li @ 2021-11-05 2:07 ` yanteng si 0 siblings, 0 replies; 7+ messages in thread From: yanteng si @ 2021-11-05 2:07 UTC (permalink / raw) To: Leo Li Cc: corbet, alexs, bobwxc, seakeel, Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang, src.res, wanjiabing, bernard Leo Li <leoyang.li@nxp.com> 于2021年11月5日周五 上午9:56写道: > > > > > -----Original Message----- > > From: yanteng si <siyanteng01@gmail.com> > > Sent: Tuesday, November 2, 2021 3:52 AM > > To: Leo Li <leoyang.li@nxp.com> > > Cc: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > > seakeel@gmail.com; Yanteng Si <siyanteng@loongson.cn>; > > chenhuacai@kernel.org; jiaxun.yang@flygoat.com; linux- > > doc@vger.kernel.org; realpuyuwang@gmail.com; src.res@email.cn; > > wanjiabing@vivo.com; bernard@vivo.com > > Subject: Re: [PATCH 2/2] docs/zh_CN: update sparse translation > > > > Leo Li <leoyang.li@nxp.com> 于2021年11月2日周二 上午5:02写道: > > > > > > > > > > > > > -----Original Message----- > > > > From: Yanteng Si <siyanteng01@gmail.com> > > > > Sent: Monday, November 1, 2021 2:50 AM > > > > To: corbet@lwn.net; alexs@kernel.org; bobwxc@email.cn; > > > > seakeel@gmail.com; Leo Li <leoyang.li@nxp.com> > > > > Cc: Yanteng Si <siyanteng@loongson.cn>; chenhuacai@kernel.org; > > > > jiaxun.yang@flygoat.com; linux-doc@vger.kernel.org; > > > > realpuyuwang@gmail.com; siyanteng01@gmail.com; src.res@email.cn; > > > > wanjiabing@vivo.com; bernard@vivo.com > > > > Subject: [PATCH 2/2] docs/zh_CN: update sparse translation > > > > > > > > Sparse documents are too outdated,let's update sparse.rst to the > > > > latest version. > > > > > > > > Signed-off-by: Yanteng Si <siyanteng@loongson.cn> > > > > --- > > > > .../translations/zh_CN/dev-tools/sparse.rst | 103 ++++++++++-------- > > > > 1 file changed, 60 insertions(+), 43 deletions(-) > > > > > > > > diff --git a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > > b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > > index 0f444b83d639..405653d156d9 100644 > > > > --- a/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > > +++ b/Documentation/translations/zh_CN/dev-tools/sparse.rst > > > > @@ -1,34 +1,34 @@ > > > > -Chinese translated version of Documentation/dev-tools/sparse.rst > > > > +Copyright 2004 Linus Torvalds > > > > +Copyright 2004 Pavel Machek <pavel@ucw.cz> Copyright 2006 Bob > > > > +Copeland <me@bobcopeland.com> > > > > > > > > -If you have any comment or update to the content, please contact > > > > the -original document maintainer directly. However, if you have a > > > > problem -communicating in English you can also ask the Chinese > > > > maintainer for -help. Contact the Chinese maintainer if this > > > > translation is outdated -or if there is a problem with the translation. > > > > +.. include:: ../disclaimer-zh_CN.rst > > > > > > > > -Chinese maintainer: Li Yang <leoyang.li@nxp.com> > > > > -------------------------------------------------------------------- > > > > -- -Documentation/dev-tools/sparse.rst 的中文翻译 > > > > +:Original: Documentation/dev-tools/sparse.rst > > > > > > > > -如果想评论或更新本文的内容,请直接联系原文档的维护者。如果 > > 你使 > > > > 用英文 > > > > -交流有困难的话,也可以向中文版维护者求助。如果本翻译更新不 > > 及时 > > > > 或者翻 > > > > -译存在问题,请联系中文版维护者。 > > > > +:翻译: > > > > > > > > -中文版维护者: 李阳 Li Yang <leoyang.li@nxp.com> > > > > -中文版翻译者: 李阳 Li Yang <leoyang.li@nxp.com> > > > > + Li Yang <leoyang.li@nxp.com> > > > > > > > > +:校译: > > > > > > > > -以下为正文 > > > > -------------------------------------------------------------------- > > > > -- > > > > + 司延腾 Yanteng Si <siyanteng@loongson.cn> > > > > > > > > -Copyright 2004 Linus Torvalds > > > > -Copyright 2004 Pavel Machek <pavel@ucw.cz> -Copyright 2006 Bob > > > > Copeland <me@bobcopeland.com> > > > > +.. _cn_sparse: > > > > + > > > > +Sparse > > > > +====== > > > > + > > > > +Sparse是一个C程序的语义检查器;它可以用来发现内核代码的一 > > 些 > > > > 潜在问题。 关 > > > > +于sparse的概述,请参见 > > > > > > https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Flw > > > > > > n.n%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C779b119cb785486 > > 8054 > > > > > > 708d99dde188f%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63771 > > 4399 > > > > > > 496081646%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIj > > oiV2luMz > > > > > > IiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=ohSPyKOTZFiwB2 > > %2F% > > > > 2BDXR2%2BDJk1avo9MJXUVLP7q%2Fw%2FI0%3D&reserved=0 > > > > > > et%2FArticles%2F689907%2F&data=04%7C01%7Cleoyang.li%40nxp.com > > > > %7C233b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c > > 5c30 > > > > > > 1635%7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8ey > > > > > > JWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D% > > > > > > 7C1000&sdata=6p2FGIcfWn%2BSrCmJaURoPa1K0NsGi0aD7psdJWDAb > > > > Mo%3D&reserved=0;本文档包含 > > > > +一些针对内核的sparse信息。 > > > > +关于sparse的更多信息,主要是关于它的内部结构,可以在它的官 > > 方 > > > > 网页上找到: > > > > > > +https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fs > > > > +par > > > > > > se.docs.kernel.org%2F&data=04%7C01%7Cleoyang.li%40nxp.com%7C23 > > > > > > 3b2566e2f74928165c08d99d0c644c%7C686ea1d3bc2b4c6fa92cd99c5c301635% > > > > > > 7C0%7C0%7C637713498814921046%7CUnknown%7CTWFpbGZsb3d8eyJWIjoi > > > > > > MC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C100 > > > > > > 0&sdata=HGfLzNLaFOAKiR288n2G%2FLrdaqeDO9T6IcJgb9o0VPw%3D&a > > > > mp;reserved=0。 > > > > > > > > 使用 sparse 工具做类型检查 > > > > ~~~~~~~~~~~~~~~~~~~~~~~~~~ > > > > > > > > -"__bitwise" 是一种类型属性,所以你应该这样使用它: > > > > +``__bitwis`` 是一种类型属性,所以你应该这样使用它:: > > > > > > Typo. __bitwise. > > OK,Thanks! > > > > > > Btw, not sure why you are changing all the " in original document to ``. > > sorry,I will recover back! > > > > > > > > > > > typedef int __bitwise pm_request_t; > > > > > > > > @@ -37,16 +37,16 @@ Copyright 2006 Bob Copeland > > <me@bobcopeland.com> > > > > PM_RESUME = (__force pm_request_t) 2 > > > > }; > > > > > > > > -这样会使 PM_SUSPEND 和 PM_RESUME 成为位方式(bitwise)整数 > > (使用 > > > > "__force" > > > > -是因为 sparse 会抱怨改变位方式的类型转换,但是这里我们确实需 > > 要 > > > > 强制进行转 > > > > -换)。而且因为所有枚举值都使用了相同的类型,这里的"enum > > > > pm_request"也将 > > > > -会使用那个类型做为底层实现。 > > > > +这样会使PM_SUSPEND和PM_RESUME成为位方式 ``bitwise`` 整数 > > (使 > > > > 用 > > > > +``__force`` 是因为sparse会抱怨改变位方式的类型转换,但是这里 > > 我们 > > > > 确实 > > > > +需要强制进行转换)。而且因为所有枚举值都使用了相同的类型, > > 这 > > > > 里的 > > > > +``enum pm_request`` 也将会使用那个类型做为底层实现。 > > > > > > > > -而且使用 gcc 编译的时候,所有的 __bitwise/__force 都会消失,最 > > 后在 > > > > gcc > > > > -看来它们只不过是普通的整数。 > > > > +而且使用gcc编译的时候,所有的 ``__bitwise`` / ``__force`` 都会消失, > > > > +最后在gcc看来它们只不过是普通的整数。 > > > > > > > > -坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成 > > 一个 > > > > 特殊的"int > > > > -__bitwise"类型。 > > > > +坦白来说,你并不需要使用枚举类型。上面那些实际都可以浓缩成 > > 一 > > > > 个特殊的 > > > > +``int__bitwise`` 类型。 > > > > > > > > 所以更简单的办法只要这样做: > > > > > > > > @@ -57,35 +57,52 @@ __bitwise"类型。 > > > > > > > > 现在你就有了严格的类型检查所需要的所有基础架构。 > > > > > > > > -一个小提醒:常数整数"0"是特殊的。你可以直接把常数零当作位方 > > 式 > > > > 整数使用而 > > > > -不用担心 sparse 会抱怨。这是因为"bitwise"(恰如其名)是用来确 > > 保不 > > > > 同位方 > > > > -式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其 > > 他), > > > > 对他们来说 > > > > -常数"0"确实是特殊的。 > > > > +一个小提醒:常数整数 ``0`` 是特殊的。你可以直接把常数零当作位 > > 方 > > > > 式整数使用而 > > > > +不用担心sparse会抱怨。这是因为 ``bitwise`` (恰如其名)是用来 > > 确保 > > > > 不同位方 > > > > +式类型不会被弄混(小尾模式,大尾模式,cpu尾模式,或者其 > > 他), > > > > 对他们来说常数 > > > > +``0`` 确实 *是* 特殊的。 > > > > > > Not sure if the italic is a standard way to emphasis in Chinese, maybe bold > > more common. > > yes, "*是*" is bold,Thanks. Sorry, I got the symbols mixed up. T_T Thanks, Yanteng ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2021-11-05 2:07 UTC | newest] Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-11-01 7:50 [PATCH 0/2] docs/zh_CN: move and update sparse Yanteng Si 2021-11-01 7:50 ` [PATCH 1/2] docs/zh_CN: move sparse into dev-tools Yanteng Si 2021-11-01 7:50 ` [PATCH 2/2] docs/zh_CN: update sparse translation Yanteng Si 2021-11-01 21:01 ` Leo Li 2021-11-02 8:52 ` yanteng si 2021-11-05 1:56 ` Leo Li 2021-11-05 2:07 ` yanteng si
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.