All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/8] docs/zh_CN: add infiniband translation.
@ 2021-06-24  9:06 Yanteng Si
  2021-06-24  9:06 ` [PATCH 1/8] docs/zh_CN: add infiniband index translation Yanteng Si
                   ` (8 more replies)
  0 siblings, 9 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

translation linux-next/Documentation/infiniband/* into Chinese.

Yanteng Si (8):
  docs/zh_CN: add infiniband index translation
  docs/zh_CN: add infiniband core_locking translation
  docs/zh_CN: add infiniband ipoib translation
  docs/zh_CN: add infiniband opa_vnic translation
  docs/zh_CN: add infiniband sysfs translation
  docs/zh_CN: add infiniband tag_matching translation
  docs/zh_CN: add infiniband user_mad translation
  docs/zh_CN: add infiniband user_verbs translation

 Documentation/translations/zh_CN/index.rst    |   2 +-
 .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++
 .../translations/zh_CN/infiniband/index.rst   |  39 +++++
 .../translations/zh_CN/infiniband/ipoib.rst   | 110 ++++++++++++
 .../zh_CN/infiniband/opa_vnic.rst             | 155 +++++++++++++++++
 .../translations/zh_CN/infiniband/sysfs.rst   |  20 +++
 .../zh_CN/infiniband/tag_matching.rst         |  62 +++++++
 .../zh_CN/infiniband/user_mad.rst             | 163 ++++++++++++++++++
 .../zh_CN/infiniband/user_verbs.rst           |  71 ++++++++
 9 files changed, 735 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/index.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/ipoib.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/opa_vnic.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/sysfs.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/tag_matching.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/user_mad.rst
 create mode 100644 Documentation/translations/zh_CN/infiniband/user_verbs.rst

-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 1/8] docs/zh_CN: add infiniband index translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-07-27 15:56   ` Puyu Wang
  2021-06-24  9:06 ` [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation Yanteng Si
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/index.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 Documentation/translations/zh_CN/index.rst    |  2 +-
 .../translations/zh_CN/infiniband/index.rst   | 39 +++++++++++++++++++
 2 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/index.rst

diff --git a/Documentation/translations/zh_CN/index.rst b/Documentation/translations/zh_CN/index.rst
index 1f953d3439a5..90bdc3db7f8f 100644
--- a/Documentation/translations/zh_CN/index.rst
+++ b/Documentation/translations/zh_CN/index.rst
@@ -97,6 +97,7 @@ TODOList:
    iio/index
    sound/index
    filesystems/index
+   infiniband/index
 
 TODOList:
 
@@ -111,7 +112,6 @@ TODOList:
 * hid/index
 * i2c/index
 * isdn/index
-* infiniband/index
 * leds/index
 * netlabel/index
 * networking/index
diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
new file mode 100644
index 000000000000..2ad0b3714443
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -0,0 +1,39 @@
+.. SPDX-License-Identifier: GPL-2.0
+
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/index.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_index:
+
+========
+无限带宽
+========
+
+.. toctree::
+   :maxdepth: 1
+
+TODOLIST:
+
+   core_locking
+   ipoib
+   opa_vnic
+   sysfs
+   tag_matching
+   user_mad
+   user_verbs
+
+.. only::  subproject and html
+
+   Indices
+   =======
+
+   * :ref:`genindex`
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
  2021-06-24  9:06 ` [PATCH 1/8] docs/zh_CN: add infiniband index translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-08-01  3:41   ` Alex Shi
  2021-06-24  9:06 ` [PATCH 3/8] docs/zh_CN: add infiniband ipoib translation Yanteng Si
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/core_locking.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++++++++
 .../translations/zh_CN/infiniband/index.rst   |   3 +-
 2 files changed, 116 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst

diff --git a/Documentation/translations/zh_CN/infiniband/core_locking.rst b/Documentation/translations/zh_CN/infiniband/core_locking.rst
new file mode 100644
index 000000000000..567058246304
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/core_locking.rst
@@ -0,0 +1,114 @@
+
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/core_locking.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_core_locking:
+
+================
+无线带宽中间层锁
+================
+
+  本指南试图明确无线带宽中间层的锁假设。它描述了对位于中间层以下的低
+  级驱动程序和使用中间层的上层协议的要求。
+
+睡眠和中断环境
+==============
+
+  除了以下异常情况,ib_device结构体中所有方法的低级驱动实现都可以睡眠。
+  这些异常情况是列表中的任意的方法:
+
+    - create_ah
+    - modify_ah
+    - query_ah
+    - destroy_ah
+    - post_send
+    - post_recv
+    - poll_cq
+    - req_notify_cq
+
+    他们可能不可以睡眠,而且必须可以从任何上下文中调用。
+
+    向上层协议使用者输出的相应函数:
+
+    - rdma_create_ah
+    - rdma_modify_ah
+    - rdma_query_ah
+    - rdma_destroy_ah
+    - ib_post_send
+    - ib_post_recv
+    - ib_req_notify_cq
+
+    因此,在任何情况下都可以安全调用(它们)。
+
+  此外,该函数
+
+    - ib_dispatch_event
+
+  被底层驱动用来通过中间层调度异步事件的“A”,也可以从任何上下文中安全调
+  用。
+
+可重入性
+--------
+
+  由低级驱动程序导出的ib_device结构体中的所有方法必须是完全可重入的。
+  即使使用同一对象的多个函数调用被同时运行,低级驱动程序也需要执行所有
+  必要的同步以保持一致性。
+
+  IB中间层不执行任何函数调用的序列化。
+
+  因为低级驱动程序是可重入的,所以不要求上层协议使用者任何顺序执行。然
+  而,为了得到合理的结果,可能需要一些顺序。例如,一个使用者可以在多个
+  CPU上同时安全地调用ib_poll_cq()。然而,不同的ib_poll_cq()调用之间
+  的工作完成信息的顺序没有被定义。
+
+回调
+----
+
+  低级驱动程序不得直接从与ib_device方法调用相同的调用链中执行回调。例
+  如,低级驱动程序不允许从post_send方法直接调用使用者的完成事件处理程
+  序。相反,低级驱动程序应该推迟这个回调,例如,调度一个tasklet来执行
+  这个回调。
+
+  低层驱动负责确保同一CQ的多个完成事件处理程序不被同时调用。驱动程序必
+  须保证一个给定的CQ的事件处理程序在同一时间只有一个在运行。换句话说,
+  以下情况是不允许的::
+
+          CPU1                                    CPU2
+
+    low-level driver ->
+      consumer CQ event callback:
+        /* ... */
+        ib_req_notify_cq(cq, ...);
+                                          low-level driver ->
+        /* ... */                           consumer CQ event callback:
+                                              /* ... */
+        return from CQ event handler
+
+  完成事件和异步事件回调的运行环境没有被定义。 根据低级别的驱动程序,它可能是
+  进程上下文、softirq上下文或中断上下文。上层协议使用者可能不会在回调中睡眠。
+
+热插拔
+------
+
+  当一个低级驱动程序调用ib_register_device()时,它宣布一个设备已经
+  准备好供使用者使用,所有的初始化必须在这个调用之前完成。设备必须保
+  持可用,直到驱动对ib_unregister_device()的调用返回。
+
+  低级驱动程序必须从进程上下文调用ib_register_device()和
+  ib_unregister_device()。如果使用者在这些调用中回调到驱动程序,它
+  不能持有任何可能导致死锁的semaphores。
+
+  一旦其结构体ib_client的add方法被调用,上层协议使用者就可以开始使用
+  一个IB设备。使用者必须在从移除方法返回之前完成所有的清理工作并释放
+  与设备相关的所有资源。
+
+  使用者被允许在其添加和删除方法中睡眠。
diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index 2ad0b3714443..588b66e8e43f 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -21,9 +21,10 @@
 .. toctree::
    :maxdepth: 1
 
+   core_locking
+
 TODOLIST:
 
-   core_locking
    ipoib
    opa_vnic
    sysfs
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 3/8] docs/zh_CN: add infiniband ipoib translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
  2021-06-24  9:06 ` [PATCH 1/8] docs/zh_CN: add infiniband index translation Yanteng Si
  2021-06-24  9:06 ` [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-06-24  9:06 ` [PATCH 4/8] docs/zh_CN: add infiniband opa_vnic translation Yanteng Si
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/ipoib.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |   2 +-
 .../translations/zh_CN/infiniband/ipoib.rst   | 110 ++++++++++++++++++
 2 files changed, 111 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/ipoib.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index 588b66e8e43f..efdfa3de1d80 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -22,10 +22,10 @@
    :maxdepth: 1
 
    core_locking
+   ipoib
 
 TODOLIST:
 
-   ipoib
    opa_vnic
    sysfs
    tag_matching
diff --git a/Documentation/translations/zh_CN/infiniband/ipoib.rst b/Documentation/translations/zh_CN/infiniband/ipoib.rst
new file mode 100644
index 000000000000..d29a4adac756
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/ipoib.rst
@@ -0,0 +1,110 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/ipoib.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_ipoib:
+
+=======================
+无限带宽上的IP(IPoIB)
+=======================
+
+  ib_ipoib驱动是IETF ipoib工作组发布的RFC 4391和4392所规定的
+  无限带宽上IP协议的一个实现。它是一个“本地”实现,即把接口类型设置为
+  ARPHRD_INFINIBAND,硬件地址长度为20(早期的专有实现向内核伪装为以太网
+  接口)。
+
+分区和P_Keys
+============
+
+  当IPoIB驱动被加载时,它会使用索引为0的P_Key给每个端口创建一个接口。要用
+  不同的P_Key创建一个接口,将所需的P_Key写入主接口的
+  /sys/class/net/<intf name>/create_child文件里面。比如说::
+
+    echo 0x8001 > /sys/class/net/ib0/create_child
+
+  这将用P_Key 0x8001创建一个名为ib0.8001的接口。要删除一个子接口,使用
+  ``delete_child`` 文件::
+
+    echo 0x8001 > /sys/class/net/ib0/delete_child
+
+  任何接口的P_Key都由“pkey”文件给出,而子接口的主接口在“parent”中。
+
+  子接口的创建/删除也可以使用IPoIB的rtnl_link_ops来完成,使用两种
+  方式创建的子接口的行为是一样的。
+
+数据报与连接模式
+================
+
+  IPoIB驱动支持两种操作模式:数据报和连接。模式是通过接口的
+  /sys/class/net/<intf name>/mode文件设置和读取的。
+
+  在数据报模式下,使用IB UD(不可靠数据报)传输,因此接口MTU等于IB L2 MTU
+  减去IPoIB封装头(4字节)。例如,在一个典型的具有2K MTU的IB结构中,IPoIB
+  MTU将是2048 - 4 = 2044字节。
+
+  在连接模式下,使用IB RC(可靠的连接)传输。连接模式利用IB传输的连接特性,
+  允许MTU达到最大的IP包大小64K,这减少了处理大型UDP数据包、TCP段等所需的
+  IP包数量,提高了大型信息的性能。
+
+  在连接模式下,接口的UD QP仍被用于组播和与不支持连接模式的对等体的通信。
+  在这种情况下,ICMP PMTU数据包的RX仿真被用来使网络堆栈对这些邻居使用较
+  小的UD MTU。
+
+无状态卸载
+==========
+
+  如果IB HW支持IPoIB无状态卸载,IPoIB会向网络堆栈广播TCP/IP校验和/或大量
+  传送(LSO)负载转移能力。
+
+  大量传送(LSO)负载转移也已实现,可以使用ethtool调用打开/关闭。目前,LRO
+  只支持具有校验和卸载能力的设备。
+
+  无状态卸载只在数据报模式下支持。
+
+中断管理
+========
+
+  如果底层IB设备支持CQ事件管理,可以使用ethtool来设置中断缓解参数,从而减少
+  处理中断产生的开销。IPoIB的主要代码路径不使用TX完成信号的事件,所以只支持
+  RX管理。
+
+调试信息
+========
+
+  通过将CONFIG_INFINIBAND_IPOIB_DEBUG设置为“y”来编译IPoIB驱动,跟踪信
+  息被编译到驱动中。通过将模块参数debug_level和mcast_debug_level设置为1来
+  打开它们。这些参数可以在运行时通过/sys/module/ib_ipoib/的文件来控制。
+
+  CONFIG_INFINIBAND_IPOIB_DEBUG也启用debugfs虚拟文件系统中的文件。通过挂
+  载这个文件系统,例如用::
+
+    mount -t debugfs none /sys/kernel/debug
+
+  可以从/sys/kernel/debug/ipoib/ib0_mcg等文件中获得关于多播组的统计数据。
+
+  这个选项对性能的影响可以忽略不计,所以在正常运行时,在debug_level设置为
+  0的情况下启用这个选项是安全的。
+
+  CONFIG_INFINIBAND_IPOIB_DEBUG_DATA当data_debug_level设置为1时,可以
+  在数据路径中启用更多的调试输出。 然而,即使禁用输出,启用这个配置选项也
+  会影响性能,因为它在快速路径中增加了测试。
+
+引用
+====
+
+  在InfiniBand上传输IP(IPoIB)(RFC 4391)。
+    http://ietf.org/rfc/rfc4391.txt
+
+  无限带宽上的IP:上的IP架构(RFC 4392)。
+    http://ietf.org/rfc/rfc4392.txt
+
+  无限带宽上的IP: 连接模式 (RFC 4755)
+    http://ietf.org/rfc/rfc4755.txt
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 4/8] docs/zh_CN: add infiniband opa_vnic translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (2 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 3/8] docs/zh_CN: add infiniband ipoib translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-06-24  9:06 ` [PATCH 5/8] docs/zh_CN: add infiniband sysfs translation Yanteng Si
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/opa_vnic.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |   2 +-
 .../zh_CN/infiniband/opa_vnic.rst             | 155 ++++++++++++++++++
 2 files changed, 156 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/opa_vnic.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index efdfa3de1d80..23cf4e8c8279 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -23,10 +23,10 @@
 
    core_locking
    ipoib
+   opa_vnic
 
 TODOLIST:
 
-   opa_vnic
    sysfs
    tag_matching
    user_mad
diff --git a/Documentation/translations/zh_CN/infiniband/opa_vnic.rst b/Documentation/translations/zh_CN/infiniband/opa_vnic.rst
new file mode 100644
index 000000000000..2c584ab5db79
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/opa_vnic.rst
@@ -0,0 +1,155 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/opa_vnic.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_opa_vnic:
+
+=============================================
+英特尔全路径(OPA)虚拟网络接口控制器(VNIC)
+=============================================
+
+英特尔全路径(OPA)虚拟网络接口控制器(VNIC)功能通过封装HFI节点之间的以
+太网数据包,支持Omni-Path结构上的以太网功能。
+
+体系结构
+========
+
+Omni-Path封装的以太网数据包的交换模式涉及Omni-Path结构拓扑上覆盖的一个或
+多个虚拟以太网交换机。Omni-Path结构上的HFI节点的一个子集被允许在特定的虚
+拟以太网交换机上交换封装的以太网数据包。虚拟以太网交换机是通过配置结构上的
+HFI节点实现的逻辑抽象,用于生成和处理报头。在最简单的配置中,整个结构的所有
+HFI节点通过一个虚拟以太网交换机交换封装的以太网数据包。一个虚拟以太网交换机,
+实际上是一个独立的以太网网络。该配置由以太网管理器(EM)执行,它是可信的结
+构管理器(FM)应用程序的一部分。HFI节点可以有多个VNIC,每个连接到不同的虚
+拟以太网交换机。下图介绍了两个虚拟以太网交换机与两个HFI节点的情况::
+
+                               +-------------------+
+                               |      子网/        |
+                               |     以太网        |
+                               |      管理         |
+                               +-------------------+
+                                  /          /
+                                /           /
+                              /            /
+                            /             /
+  +-----------------------------+  +------------------------------+
+  |     虚拟以太网切换          |  |      虚拟以太网切换          |
+  |  +---------+    +---------+ |  | +---------+    +---------+   |
+  |  | VPORT   |    |  VPORT  | |  | |  VPORT  |    |  VPORT  |   |
+  +--+---------+----+---------+-+  +-+---------+----+---------+---+
+           |                 \        /                 |
+           |                   \    /                   |
+           |                     \/                     |
+           |                    /  \                    |
+           |                  /      \                  |
+       +-----------+------------+  +-----------+------------+
+       |   VNIC    |    VNIC    |  |    VNIC   |    VNIC    |
+       +-----------+------------+  +-----------+------------+
+       |          HFI           |  |          HFI           |
+       +------------------------+  +------------------------+
+
+
+Omni-Path封装的以太网数据包格式如下所述。
+
+==================== ================================
+位                   域
+==================== ================================
+Quad Word 0:
+0-19                 SLID (低20位)
+20-30                长度 (以四字为单位)
+31                   BECN 位
+32-51                DLID (低20位)
+52-56                SC (服务级别)
+57-59                RC (路由控制)
+60                   FECN 位
+61-62                L2 (=10, 16B 格式)
+63                   LT (=1, 链路传输头 Flit)
+
+Quad Word 1:
+0-7                  L4 type (=0x78 ETHERNET)
+8-11                 SLID[23:20]
+12-15                DLID[23:20]
+16-31                PKEY
+32-47                熵
+48-63                保留
+
+Quad Word 2:
+0-15                 保留
+16-31                L4 头
+32-63                以太网数据包
+
+Quad Words 3 to N-1:
+0-63                 以太网数据包 (pad拓展)
+
+Quad Word N (last):
+0-23                 以太网数据包 (pad拓展)
+24-55                ICRC
+56-61                尾
+62-63                LT (=01, 链路传输尾 Flit)
+==================== ================================
+
+以太网数据包在传输端被填充,以确保VNIC OPA数据包是四字对齐的。“尾”字段
+包含填充的字节数。在接收端,“尾”字段被读取,在将数据包向上传递到网络堆
+栈之前,填充物被移除(与ICRC、尾和OPA头一起)。
+
+L4头字段包含VNIC端口所属的虚拟以太网交换机ID。在接收端,该字段用于将收
+到的VNIC数据包去多路复用到不同的VNIC端口。
+
+驱动设计
+========
+
+英特尔OPA VNIC的软件设计如下图所示。OPA VNIC功能有一个依赖于硬件的部分
+和一个独立于硬件的部分。
+
+对IB设备分配和释放RDMA netdev设备的支持已经被加入。RDMA netdev支持与
+网络堆栈的对接,从而创建标准的网络接口。OPA_VNIC是一个RDMA netdev设备
+类型。
+
+依赖于HW的VNIC功能是HFI1驱动的一部分。它实现了分配和释放OPA_VNIC RDMA
+netdev的动作。它涉及VNIC功能的HW资源分配/管理。它与网络堆栈接口并实现所
+需的net_device_ops功能。它在传输路径中期待Omni-Path封装的以太网数据包,
+并提供对它们的HW访问。在将数据包向上传递到网络堆栈之前,它把Omni-Path头
+从接收的数据包中剥离。它还实现了RDMA netdev控制操作。
+
+OPA VNIC模块实现了独立于硬件的VNIC功能。它由两部分组成。VNIC以太网管理
+代理(VEMA)作为一个IB客户端向IB核心注册,并与IB MAD栈接口。它与以太网
+管理器(EM)和VNIC netdev交换管理信息。VNIC netdev部分分配和释放OPA_VNIC
+RDMA netdev设备。它在需要时覆盖由依赖HW的VNIC驱动设置的net_device_ops函数,
+以适应任何控制操作。它还处理以太网数据包的封装,在传输路径中使用Omni-Path头。
+对于每个VNIC接口,封装所需的信息是由EM通过VEMA MAD接口配置的。它还通过调用
+RDMA netdev控制操作将任何控制信息传递给依赖于HW的驱动程序::
+
+        +-------------------+ +----------------------+
+        |                   | |       Linux          |
+        |     IB MAD        | |       网络           |
+        |                   | |       栈             |
+        +-------------------+ +----------------------+
+                 |               |          |
+                 |               |          |
+        +----------------------------+      |
+        |                            |      |
+        |      OPA VNIC 模块         |      |
+        |  (OPA VNIC RDMA Netdev     |      |
+        |     & EMA 函数)            |      |
+        |                            |      |
+        +----------------------------+      |
+                    |                       |
+                    |                       |
+           +------------------+             |
+           |     IB 核心      |             |
+           +------------------+             |
+                    |                       |
+                    |                       |
+        +--------------------------------------------+
+        |                                            |
+        |      HFI1 驱动和 VNIC 支持                 |
+        |                                            |
+        +--------------------------------------------+
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 5/8] docs/zh_CN: add infiniband sysfs translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (3 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 4/8] docs/zh_CN: add infiniband opa_vnic translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-06-24  9:06 ` [PATCH 6/8] docs/zh_CN: add infiniband tag_matching translation Yanteng Si
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/sysfs.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |  2 +-
 .../translations/zh_CN/infiniband/sysfs.rst   | 20 +++++++++++++++++++
 2 files changed, 21 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/sysfs.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index 23cf4e8c8279..275fc501868a 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -24,10 +24,10 @@
    core_locking
    ipoib
    opa_vnic
+   sysfs
 
 TODOLIST:
 
-   sysfs
    tag_matching
    user_mad
    user_verbs
diff --git a/Documentation/translations/zh_CN/infiniband/sysfs.rst b/Documentation/translations/zh_CN/infiniband/sysfs.rst
new file mode 100644
index 000000000000..53d2a74fee67
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/sysfs.rst
@@ -0,0 +1,20 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/sysfs.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_sysfs:
+
+=========
+Sysfs文件
+=========
+
+sysfs接口已移至
+Documentation/ABI/stable/sysfs-class-infiniband.
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 6/8] docs/zh_CN: add infiniband tag_matching translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (4 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 5/8] docs/zh_CN: add infiniband sysfs translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-06-24  9:06 ` [PATCH 7/8] docs/zh_CN: add infiniband user_mad translation Yanteng Si
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/tag_matching.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |  2 +-
 .../zh_CN/infiniband/tag_matching.rst         | 62 +++++++++++++++++++
 2 files changed, 63 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/tag_matching.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index 275fc501868a..2ceb7b8dd1a6 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -25,10 +25,10 @@
    ipoib
    opa_vnic
    sysfs
+   tag_matching
 
 TODOLIST:
 
-   tag_matching
    user_mad
    user_verbs
 
diff --git a/Documentation/translations/zh_CN/infiniband/tag_matching.rst b/Documentation/translations/zh_CN/infiniband/tag_matching.rst
new file mode 100644
index 000000000000..c7e367aac078
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/tag_matching.rst
@@ -0,0 +1,62 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/tag_matching.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_tag_matching:
+
+============
+标签匹配逻辑
+============
+
+MPI标准定义了一套规则,称为标签匹配,用于将源发送操作与目的接收匹配。以下参数必
+须与以下源和目的参数相匹配:
+
+*	沟通者
+*	用户标签--通配符(wild card)可由接收方指定
+*	来源等级--通配符可由接收方指定
+*	目的地等级 – wild
+
+排序规则要求,当一对以上的发送和接收消息信封可能匹配时,包括最早发布-发送和最早
+发布-接收的一对是必须用来满足匹配操作的一对。然而,这并不意味着标签是按照它们被
+创建的顺序消耗的,例如,如果早期的标签不能用来满足匹配规则,那么后来生成的标签
+可能被消耗。
+
+当消息从发送方发送到接收方时,通信库可能试图在相应的匹配接收被发布之后或之前处
+理该操作。如果匹配的接收被发布,这就是一个预期的消息,否则就被称为一个意外的消
+息。实现时经常为这两种不同的匹配实例使用不同的匹配方案。
+
+为了减少MPI库的内存占用,MPI实现通常使用两种不同的协议来实现这一目的:
+
+1.	Eager协议--当发送方处理完发送时,完整的信息就会被发送。在send_cq中会收到
+一个完成发送的通知,通知缓冲区可以被重新使用。
+
+2.	Rendezvous协议--发送方在第一次通知接收方时发送标签匹配头,也许还有一部分
+数据。当相应的缓冲区被发布时,响应者将使用头中的信息,直接向匹配的缓冲区发起
+RDMA读取操作。为了使缓冲区得到重用,需要收到一个fin消息。
+
+标签匹配的实现
+==============
+
+使用的匹配对象有两种类型,即发布的接收列表和意外消息列表。应用程序通过调用发布
+的接收列表中的MPI接收例程发布接收缓冲区,并使用MPI发送例程发布发送消息。发布的
+接收列表的头部可以由硬件来维护,而软件则要对这个列表进行跟踪。
+
+当发送开始并到达接收端时,如果没有为这个到达的消息预先发布接收,它将被传递给软
+件并被放在意外(unexpect)消息列表中。否则,将对该匹配进行处理,包括交会处理,
+如果合适的话,将数据传送到指定的接收缓冲区。这允许接收方MPI标签匹配与计算重叠。
+
+当一个接收信息被发布时,通信库将首先检查软件的意外信息列表,以寻找一个匹配的接
+收信息。如果找到一个匹配的,数据就会被送到用户缓冲区,使用一个软件控制的协议。
+UCX的实现根据数据大小,使用急切或交会协议。如果没有找到匹配,整个预置的接收列
+表由硬件维护,并且有空间在这个列表中增加一个预置的接收,这个接收被传递给硬件。
+软件要对这个列表进行跟踪,以帮助处理MPI取消操作。此外,由于硬件和软件在标签匹
+配操作方面预计不会紧密同步,这个影子列表被用来检测预先发布的接收被传递到硬件的
+情况,因为匹配的意外消息正在从硬件传递到软件。
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 7/8] docs/zh_CN: add infiniband user_mad translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (5 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 6/8] docs/zh_CN: add infiniband tag_matching translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-06-24  9:06 ` [PATCH 8/8] docs/zh_CN: add infiniband user_verbs translation Yanteng Si
  2021-07-25 20:45 ` [PATCH 0/8] docs/zh_CN: add infiniband translation Jonathan Corbet
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/user_mad.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |   2 +-
 .../zh_CN/infiniband/user_mad.rst             | 163 ++++++++++++++++++
 2 files changed, 164 insertions(+), 1 deletion(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/user_mad.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index 2ceb7b8dd1a6..eaca7bba599a 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -26,10 +26,10 @@
    opa_vnic
    sysfs
    tag_matching
+   user_mad
 
 TODOLIST:
 
-   user_mad
    user_verbs
 
 .. only::  subproject and html
diff --git a/Documentation/translations/zh_CN/infiniband/user_mad.rst b/Documentation/translations/zh_CN/infiniband/user_mad.rst
new file mode 100644
index 000000000000..b88bcf0521db
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/user_mad.rst
@@ -0,0 +1,163 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/user_mad.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_user_mad:
+
+===============
+用户空间MAD访问
+===============
+
+设备文件
+========
+
+  每个InfiniBand设备的每个端口都有一个“umad”设备和一个“issm”设备连接。
+  例如,一个双端口的HCA将有两个umad设备和两个issm设备,而一个交换机将
+  有每个类型的一个设备(对于交换机端口0)。
+
+创建MAD代理
+===========
+
+  一个MAD代理可以通过填写一个结构体ib_user_mad_reg_req来创建,然后在
+  适当的设备文件的文件描述符上调用IB_USER_MAD_REGISTER_AGENT ioctl。
+  如果注册请求成功,结构体中会返回一个32位的ID。比如说::
+
+	struct ib_user_mad_reg_req req = { /* ... */ };
+	ret = ioctl(fd, IB_USER_MAD_REGISTER_AGENT, (char *) &req);
+        if (!ret)
+		my_agent = req.id;
+	else
+		perror("agent register");
+
+  代理可以通过IB_USER_MAD_UNREGISTER_AGENT ioctl取消注册。另外,所有
+  通过文件描述符注册的代理在描述符关闭时将被取消注册。
+
+  2014
+       现在提供了一个新的注册IOctl,允许在注册时提供额外的字段。这个注册
+       调用的用户隐含了对pkey_index的使用(见下文)。现在提供了一个新的
+       注册IOctl,允许在注册时提供额外的字段。这个注册调用的用户隐含了对
+       pkey_index的使用(见下文)。
+
+接收MADs
+========
+
+  使用read()接收MAD。现在接收端支持RMPP。传给read()的缓冲区必须至少是
+  一个struct ib_user_mad + 256字节。比如说:
+
+  如果传递的缓冲区不足以容纳收到的MAD(RMPP),errno被设置为ENOSPC,需
+  要的缓冲区长度被设置在mad.length中。
+
+  正常MAD(非RMPP)的读取示例::
+
+	struct ib_user_mad *mad;
+	mad = malloc(sizeof *mad + 256);
+	ret = read(fd, mad, sizeof *mad + 256);
+	if (ret != sizeof mad + 256) {
+		perror("read");
+		free(mad);
+	}
+
+  RMPP读取示例::
+
+	struct ib_user_mad *mad;
+	mad = malloc(sizeof *mad + 256);
+	ret = read(fd, mad, sizeof *mad + 256);
+	if (ret == -ENOSPC)) {
+		length = mad.length;
+		free(mad);
+		mad = malloc(sizeof *mad + length);
+		ret = read(fd, mad, sizeof *mad + length);
+	}
+	if (ret < 0) {
+		perror("read");
+		free(mad);
+	}
+
+  除了实际的MAD内容外,其他结构体ib_user_mad字段将被填入收到的MAD的信
+  息。例如,远程LID将在mad.lid中。
+
+  如果发送超时,将产生一个接收,mad.status设置为ETIMEDOUT。否则,当一个
+  MAD被成功接收后,mad.status将是0。
+
+  poll()/select()可以用来等待一个MAD可以被读取。
+
+  poll()/select()可以用来等待,直到可以读取一个MAD。
+
+发送MADs
+========
+
+  MADs是用write()发送的。发送的代理ID应该填入MAD的id字段,目的地LID应该
+  填入lid字段,以此类推。发送端确实支持RMPP,所以可以发送任意长度的MAD。
+  比如说::
+
+	struct ib_user_mad *mad;
+
+	mad = malloc(sizeof *mad + mad_length);
+
+	/* fill in mad->data */
+
+	mad->hdr.id  = my_agent;	/* req.id from agent registration */
+	mad->hdr.lid = my_dest;		/* in network byte order... */
+	/* etc. */
+
+	ret = write(fd, &mad, sizeof *mad + mad_length);
+	if (ret != sizeof *mad + mad_length)
+		perror("write");
+
+交换IDs
+=======
+
+  umad设备的用户可以在发送的MAD中使用交换ID字段的低32位(也就是网络字节顺序中
+  最小有效的一半字段)来匹配请求/响应对。上面的32位是保留给内核使用的,在发送
+  MAD之前会被改写。
+
+P_Key索引处理
+=============
+
+  旧的ib_umad接口不允许为发送的MAD设置P_Key索引,也没有提供获取接收的MAD的
+  P_Key索引的方法。一个带有pkey_index成员的struct ib_user_mad_hdr的新布局已
+  经被定义;然而,为了保持与旧的应用程序的二进制兼容性,除非在文件描述符被用于
+  其他用途之前调用IB_USER_MAD_ENABLE_PKEY或IB_USER_MAD_REGISTER_AGENT2 ioctl
+  之一,否则不会使用这种新布局。
+
+  在2008年9月,IB_USER_MAD_ABI_VERSION将被增加到6,默认使用新的ib_user_mad_hdr
+  结构布局,并且IB_USER_MAD_ENABLE_PKEY ioctl将被删除。
+
+设置IsSM功能位
+==============
+
+  要为一个端口设置IsSM功能位,只需打开相应的issm设备文件。如果IsSM位已经被设置,那
+  么打开调用将阻塞,直到该位被清除(或者如果O_NONBLOCK标志被传递给open(),则立即返
+  回,errno设置为EAGAIN)。当issm文件被关闭时,IsSM位将被清除。在issm文件上不能进
+  行任何读、写或其他操作。
+
+/dev文件
+========
+
+为了用 udev自动创建相应的字符设备文件,一个类似::
+
+    KERNEL=="umad*", NAME="infiniband/%k"
+    KERNEL=="issm*", NAME="infiniband/%k"
+
+  的规则可以被使用。它将创建节点的名字::
+
+    /dev/infiniband/umad0
+    /dev/infiniband/issm0
+
+  为第一个端口,以此类推。与这些设备相关的无限带宽设备和端口可以从以下文件中确定::
+
+    /sys/class/infiniband_mad/umad0/ibdev
+    /sys/class/infiniband_mad/umad0/port
+
+  和::
+
+    /sys/class/infiniband_mad/issm0/ibdev
+    /sys/class/infiniband_mad/issm0/port
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 8/8] docs/zh_CN: add infiniband user_verbs translation
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (6 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 7/8] docs/zh_CN: add infiniband user_mad translation Yanteng Si
@ 2021-06-24  9:06 ` Yanteng Si
  2021-07-25 20:45 ` [PATCH 0/8] docs/zh_CN: add infiniband translation Jonathan Corbet
  8 siblings, 0 replies; 15+ messages in thread
From: Yanteng Si @ 2021-06-24  9:06 UTC (permalink / raw)
  To: corbet, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Translate Documentation/core-api/infiniband/user_verbs.rst into Chinese.

Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
---
 .../translations/zh_CN/infiniband/index.rst   |  3 +-
 .../zh_CN/infiniband/user_verbs.rst           | 71 +++++++++++++++++++
 2 files changed, 72 insertions(+), 2 deletions(-)
 create mode 100644 Documentation/translations/zh_CN/infiniband/user_verbs.rst

diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
index eaca7bba599a..f11efa7053d3 100644
--- a/Documentation/translations/zh_CN/infiniband/index.rst
+++ b/Documentation/translations/zh_CN/infiniband/index.rst
@@ -27,10 +27,9 @@
    sysfs
    tag_matching
    user_mad
+   user_verbs
 
-TODOLIST:
 
-   user_verbs
 
 .. only::  subproject and html
 
diff --git a/Documentation/translations/zh_CN/infiniband/user_verbs.rst b/Documentation/translations/zh_CN/infiniband/user_verbs.rst
new file mode 100644
index 000000000000..3f11517a6877
--- /dev/null
+++ b/Documentation/translations/zh_CN/infiniband/user_verbs.rst
@@ -0,0 +1,71 @@
+.. include:: ../disclaimer-zh_CN.rst
+
+:Original: Documentation/core-api/infiniband/user_verbs.rst
+
+:翻译:
+
+ 司延腾 Yanteng Si <siyanteng@loongson.cn>
+
+:校译:
+
+ <sign>
+
+.. _cn_infiniband_user_verbs:
+
+=================
+用户空间verbs访问
+=================
+
+  ib_uverbs模块,通过启用CONFIG_INFINIBAND_USER_VERBS构建,使用户空间
+  通过“verbs”直接访问IB硬件,如InfiniBand架构规范第11章所述。
+
+  要使用verbs,需要libibverbs库,可从https://github.com/linux-rdma/rdma-core。
+  libibverbs包含一个独立于设备的API,用于使用ib_uverbs接口。libibverbs
+  还需要为你的InfiniBand硬件提供适当的独立于设备的内核和用户空间驱动。例如,
+  要使用Mellanox HCA,你需要安装ib_mthca内核模块和libmthca用户空间驱动。
+
+用户-内核通信
+=============
+
+  用户空间通过/dev/infiniband/uverbsN字符设备与内核进行慢速路径、资源管理
+  操作的通信。快速路径操作通常是通过直接写入硬件寄存器mmap()到用户空间来完成
+  的,没有系统调用或上下文切换到内核。
+
+  命令是通过在这些设备文件上的write()s发送给内核的。ABI在
+  drivers/infiniband/include/ib_user_verbs.h中定义。需要内核响应的命令的结
+  构包含一个64位字段,用来传递一个指向输出缓冲区的指针。状态作为write()系统调
+  用的返回值被返回到用户空间。
+
+资源管理
+========
+
+  由于所有IB资源的创建和销毁都是通过文件描述符传递的命令完成的,所以内核可以跟
+  踪哪些资源被附加到一个给定的用户空间上下文。ib_uverbs模块维护着idr表,用来在
+  内核指针和不透明的用户空间句柄之间进行转换,这样内核指针就不会暴露给用户空间,
+  而用户空间也无法欺骗内核去跟踪一个假的指针。
+
+  这也允许内核在一个进程退出时进行清理,并防止一个进程触及另一个进程的资源。
+
+内存引脚
+========
+
+  直接的用户空间I/O要求与作为潜在I/O目标的内存区域保持在同一物理地址上。ib_uverbs
+  模块通过get_user_pages()和put_page()调用来管理内存区域的固定和解除固定。它还核
+  算进程的pinned_vm中被固定的内存量,并检查非特权进程是否超过其RLIMIT_MEMLOCK限制。
+
+  被多次固定的页面在每次被固定时都会被计数,所以pinned_vm的值可能会高估一个进程所
+  固定的页面数量。
+
+/dev文件
+========
+
+  要想用udev自动创建适当的字符设备文件,可以采用如下规则::
+
+    KERNEL=="uverbs*", NAME="infiniband/%k"
+
+  可以使用。 这将创建设备节点,名为::
+
+    /dev/infiniband/uverbs0
+
+  等等。由于InfiniBand的用户空间verbs对于非特权进程来说应该是安全的,因此在udev规
+  则中加入适当的MODE或GROUP可能是有用的。
-- 
2.27.0


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] docs/zh_CN: add infiniband translation.
  2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
                   ` (7 preceding siblings ...)
  2021-06-24  9:06 ` [PATCH 8/8] docs/zh_CN: add infiniband user_verbs translation Yanteng Si
@ 2021-07-25 20:45 ` Jonathan Corbet
  2021-07-26  7:34   ` Jiaxun Yang
  8 siblings, 1 reply; 15+ messages in thread
From: Jonathan Corbet @ 2021-07-25 20:45 UTC (permalink / raw)
  To: Yanteng Si, alexs, bobwxc, seakeel
  Cc: Yanteng Si, chenhuacai, jiaxun.yang, linux-doc, realpuyuwang,
	siyanteng01

Yanteng Si <siyanteng@loongson.cn> writes:

> translation linux-next/Documentation/infiniband/* into Chinese.
>
> Yanteng Si (8):
>   docs/zh_CN: add infiniband index translation
>   docs/zh_CN: add infiniband core_locking translation
>   docs/zh_CN: add infiniband ipoib translation
>   docs/zh_CN: add infiniband opa_vnic translation
>   docs/zh_CN: add infiniband sysfs translation
>   docs/zh_CN: add infiniband tag_matching translation
>   docs/zh_CN: add infiniband user_mad translation
>   docs/zh_CN: add infiniband user_verbs translation
>
>  Documentation/translations/zh_CN/index.rst    |   2 +-
>  .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++
>  .../translations/zh_CN/infiniband/index.rst   |  39 +++++
>  .../translations/zh_CN/infiniband/ipoib.rst   | 110 ++++++++++++
>  .../zh_CN/infiniband/opa_vnic.rst             | 155 +++++++++++++++++
>  .../translations/zh_CN/infiniband/sysfs.rst   |  20 +++
>  .../zh_CN/infiniband/tag_matching.rst         |  62 +++++++
>  .../zh_CN/infiniband/user_mad.rst             | 163 ++++++++++++++++++
>  .../zh_CN/infiniband/user_verbs.rst           |  71 ++++++++
>  9 files changed, 735 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/index.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/ipoib.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/opa_vnic.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/sysfs.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/tag_matching.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/user_mad.rst
>  create mode 100644 Documentation/translations/zh_CN/infiniband/user_verbs.rst

So these have been waiting for a month without review...is there any
chance somebody can take a look at them?

Thanks,

jon

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/8] docs/zh_CN: add infiniband translation.
  2021-07-25 20:45 ` [PATCH 0/8] docs/zh_CN: add infiniband translation Jonathan Corbet
@ 2021-07-26  7:34   ` Jiaxun Yang
  0 siblings, 0 replies; 15+ messages in thread
From: Jiaxun Yang @ 2021-07-26  7:34 UTC (permalink / raw)
  To: Jonathan Corbet, Yanteng Si, alexs, bobwxc, seakeel
  Cc: chenhuacai, linux-doc, realpuyuwang, siyanteng01



在 2021/7/26 上午4:45, Jonathan Corbet 写道:
> Yanteng Si <siyanteng@loongson.cn> writes:
>
>> translation linux-next/Documentation/infiniband/* into Chinese.
>>
>> Yanteng Si (8):
>>    docs/zh_CN: add infiniband index translation
>>    docs/zh_CN: add infiniband core_locking translation
>>    docs/zh_CN: add infiniband ipoib translation
>>    docs/zh_CN: add infiniband opa_vnic translation
>>    docs/zh_CN: add infiniband sysfs translation
>>    docs/zh_CN: add infiniband tag_matching translation
>>    docs/zh_CN: add infiniband user_mad translation
>>    docs/zh_CN: add infiniband user_verbs translation
>>
>>   Documentation/translations/zh_CN/index.rst    |   2 +-
>>   .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++
>>   .../translations/zh_CN/infiniband/index.rst   |  39 +++++
>>   .../translations/zh_CN/infiniband/ipoib.rst   | 110 ++++++++++++
>>   .../zh_CN/infiniband/opa_vnic.rst             | 155 +++++++++++++++++
>>   .../translations/zh_CN/infiniband/sysfs.rst   |  20 +++
>>   .../zh_CN/infiniband/tag_matching.rst         |  62 +++++++
>>   .../zh_CN/infiniband/user_mad.rst             | 163 ++++++++++++++++++
>>   .../zh_CN/infiniband/user_verbs.rst           |  71 ++++++++
>>   9 files changed, 735 insertions(+), 1 deletion(-)
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/index.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/ipoib.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/opa_vnic.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/sysfs.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/tag_matching.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/user_mad.rst
>>   create mode 100644 Documentation/translations/zh_CN/infiniband/user_verbs.rst
> So these have been waiting for a month without review...is there any
> chance somebody can take a look at them?

I guess most of us don't have experience on infiniband so it might be 
hard for
us to determine if the translation is accurate. :-(

Thanks,

- Jiaxun

>
> Thanks,
>
> jon


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/8] docs/zh_CN: add infiniband index translation
  2021-06-24  9:06 ` [PATCH 1/8] docs/zh_CN: add infiniband index translation Yanteng Si
@ 2021-07-27 15:56   ` Puyu Wang
  2021-07-29 11:55     ` yanteng si
  0 siblings, 1 reply; 15+ messages in thread
From: Puyu Wang @ 2021-07-27 15:56 UTC (permalink / raw)
  To: Yanteng Si
  Cc: Jonathan Corbet, alexs, bobwxc, seakeel, chenhuacai, Jiaxun Yang,
	linux-doc, Yanteng Si

Dear Yanteng,

I think in most cases there is no need to translate "Infiniband" into
无限带宽 (It is not the official Chinese name). You can use Infiniband
directly in the Chinese context since it is actually commonly used.
All best,
Puyu Wang

On Thu, Jun 24, 2021 at 3:06 AM Yanteng Si <siyanteng@loongson.cn> wrote:
>
> Translate Documentation/core-api/infiniband/index.rst into Chinese.
>
> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> ---
>  Documentation/translations/zh_CN/index.rst    |  2 +-
>  .../translations/zh_CN/infiniband/index.rst   | 39 +++++++++++++++++++
>  2 files changed, 40 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/translations/zh_CN/infiniband/index.rst
>
> diff --git a/Documentation/translations/zh_CN/index.rst b/Documentation/translations/zh_CN/index.rst
> index 1f953d3439a5..90bdc3db7f8f 100644
> --- a/Documentation/translations/zh_CN/index.rst
> +++ b/Documentation/translations/zh_CN/index.rst
> @@ -97,6 +97,7 @@ TODOList:
>     iio/index
>     sound/index
>     filesystems/index
> +   infiniband/index
>
>  TODOList:
>
> @@ -111,7 +112,6 @@ TODOList:
>  * hid/index
>  * i2c/index
>  * isdn/index
> -* infiniband/index
>  * leds/index
>  * netlabel/index
>  * networking/index
> diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
> new file mode 100644
> index 000000000000..2ad0b3714443
> --- /dev/null
> +++ b/Documentation/translations/zh_CN/infiniband/index.rst
> @@ -0,0 +1,39 @@
> +.. SPDX-License-Identifier: GPL-2.0
> +
> +.. include:: ../disclaimer-zh_CN.rst
> +
> +:Original: Documentation/core-api/infiniband/index.rst
> +
> +:翻译:
> +
> + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> +
> +:校译:
> +
> + <sign>
> +
> +.. _cn_infiniband_index:
> +
> +========
> +无限带宽
> +========
> +
> +.. toctree::
> +   :maxdepth: 1
> +
> +TODOLIST:
> +
> +   core_locking
> +   ipoib
> +   opa_vnic
> +   sysfs
> +   tag_matching
> +   user_mad
> +   user_verbs
> +
> +.. only::  subproject and html
> +
> +   Indices
> +   =======
> +
> +   * :ref:`genindex`
> --
> 2.27.0
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 1/8] docs/zh_CN: add infiniband index translation
  2021-07-27 15:56   ` Puyu Wang
@ 2021-07-29 11:55     ` yanteng si
  0 siblings, 0 replies; 15+ messages in thread
From: yanteng si @ 2021-07-29 11:55 UTC (permalink / raw)
  To: Puyu Wang
  Cc: Yanteng Si, Jonathan Corbet, Alex Shi, Wu XiangCheng, Alex Shi,
	Huacai Chen, Jiaxun Yang, linux-doc

Puyu Wang <realpuyuwang@gmail.com> 于2021年7月27日周二 下午11:56写道:
>
> Dear Yanteng,
>
> I think in most cases there is no need to translate "Infiniband" into
> 无限带宽 (It is not the official Chinese name). You can use Infiniband
> directly in the Chinese context since it is actually commonly used.
Ok,I will. thank you your review!

Thanks,

Yanteng

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation
  2021-06-24  9:06 ` [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation Yanteng Si
@ 2021-08-01  3:41   ` Alex Shi
  2021-08-01  6:08     ` yanteng si
  0 siblings, 1 reply; 15+ messages in thread
From: Alex Shi @ 2021-08-01  3:41 UTC (permalink / raw)
  To: Yanteng Si
  Cc: Jonathan Corbet, Alex Shi, Wu X.C.,
	Huacai Chen, Jiaxun Yang, linux-doc, Puyu Wang, yanteng si

On Thu, Jun 24, 2021 at 5:05 PM Yanteng Si <siyanteng@loongson.cn> wrote:
>
> Translate Documentation/core-api/infiniband/core_locking.rst into Chinese.
>
> Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> ---
>  .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++++++++
>  .../translations/zh_CN/infiniband/index.rst   |   3 +-
>  2 files changed, 116 insertions(+), 1 deletion(-)
>  create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst
>
> diff --git a/Documentation/translations/zh_CN/infiniband/core_locking.rst b/Documentation/translations/zh_CN/infiniband/core_locking.rst
> new file mode 100644
> index 000000000000..567058246304
> --- /dev/null
> +++ b/Documentation/translations/zh_CN/infiniband/core_locking.rst
> @@ -0,0 +1,114 @@
> +
> +.. include:: ../disclaimer-zh_CN.rst
> +
> +:Original: Documentation/core-api/infiniband/core_locking.rst

I can't find the doc under core-api on next or upstream tree. Do I
miss something?

> +
> +:翻译:
> +
> + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> +
> +:校译:
> +
> + <sign>
> +
> +.. _cn_infiniband_core_locking:
> +
> +================
> +无线带宽中间层锁

I didn't find the 'infiniband' is tranlated to Chinese as a brand. So
maybe leave it in Enghlish?

Others are fine for me.

Thanks

> +================
> +
> +  本指南试图明确无线带宽中间层的锁假设。它描述了对位于中间层以下的低
> +  级驱动程序和使用中间层的上层协议的要求。
> +
> +睡眠和中断环境
> +==============
> +
> +  除了以下异常情况,ib_device结构体中所有方法的低级驱动实现都可以睡眠。
> +  这些异常情况是列表中的任意的方法:
> +
> +    - create_ah
> +    - modify_ah
> +    - query_ah
> +    - destroy_ah
> +    - post_send
> +    - post_recv
> +    - poll_cq
> +    - req_notify_cq
> +
> +    他们可能不可以睡眠,而且必须可以从任何上下文中调用。
> +
> +    向上层协议使用者输出的相应函数:
> +
> +    - rdma_create_ah
> +    - rdma_modify_ah
> +    - rdma_query_ah
> +    - rdma_destroy_ah
> +    - ib_post_send
> +    - ib_post_recv
> +    - ib_req_notify_cq
> +
> +    因此,在任何情况下都可以安全调用(它们)。
> +
> +  此外,该函数
> +
> +    - ib_dispatch_event
> +
> +  被底层驱动用来通过中间层调度异步事件的“A”,也可以从任何上下文中安全调
> +  用。
> +
> +可重入性
> +--------
> +
> +  由低级驱动程序导出的ib_device结构体中的所有方法必须是完全可重入的。
> +  即使使用同一对象的多个函数调用被同时运行,低级驱动程序也需要执行所有
> +  必要的同步以保持一致性。
> +
> +  IB中间层不执行任何函数调用的序列化。
> +
> +  因为低级驱动程序是可重入的,所以不要求上层协议使用者任何顺序执行。然
> +  而,为了得到合理的结果,可能需要一些顺序。例如,一个使用者可以在多个
> +  CPU上同时安全地调用ib_poll_cq()。然而,不同的ib_poll_cq()调用之间
> +  的工作完成信息的顺序没有被定义。
> +
> +回调
> +----
> +
> +  低级驱动程序不得直接从与ib_device方法调用相同的调用链中执行回调。例
> +  如,低级驱动程序不允许从post_send方法直接调用使用者的完成事件处理程
> +  序。相反,低级驱动程序应该推迟这个回调,例如,调度一个tasklet来执行
> +  这个回调。
> +
> +  低层驱动负责确保同一CQ的多个完成事件处理程序不被同时调用。驱动程序必
> +  须保证一个给定的CQ的事件处理程序在同一时间只有一个在运行。换句话说,
> +  以下情况是不允许的::
> +
> +          CPU1                                    CPU2
> +
> +    low-level driver ->
> +      consumer CQ event callback:
> +        /* ... */
> +        ib_req_notify_cq(cq, ...);
> +                                          low-level driver ->
> +        /* ... */                           consumer CQ event callback:
> +                                              /* ... */
> +        return from CQ event handler
> +
> +  完成事件和异步事件回调的运行环境没有被定义。 根据低级别的驱动程序,它可能是
> +  进程上下文、softirq上下文或中断上下文。上层协议使用者可能不会在回调中睡眠。
> +
> +热插拔
> +------
> +
> +  当一个低级驱动程序调用ib_register_device()时,它宣布一个设备已经
> +  准备好供使用者使用,所有的初始化必须在这个调用之前完成。设备必须保
> +  持可用,直到驱动对ib_unregister_device()的调用返回。
> +
> +  低级驱动程序必须从进程上下文调用ib_register_device()和
> +  ib_unregister_device()。如果使用者在这些调用中回调到驱动程序,它
> +  不能持有任何可能导致死锁的semaphores。
> +
> +  一旦其结构体ib_client的add方法被调用,上层协议使用者就可以开始使用
> +  一个IB设备。使用者必须在从移除方法返回之前完成所有的清理工作并释放
> +  与设备相关的所有资源。
> +
> +  使用者被允许在其添加和删除方法中睡眠。
> diff --git a/Documentation/translations/zh_CN/infiniband/index.rst b/Documentation/translations/zh_CN/infiniband/index.rst
> index 2ad0b3714443..588b66e8e43f 100644
> --- a/Documentation/translations/zh_CN/infiniband/index.rst
> +++ b/Documentation/translations/zh_CN/infiniband/index.rst
> @@ -21,9 +21,10 @@
>  .. toctree::
>     :maxdepth: 1
>
> +   core_locking
> +
>  TODOLIST:
>
> -   core_locking
>     ipoib
>     opa_vnic
>     sysfs
> --
> 2.27.0
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation
  2021-08-01  3:41   ` Alex Shi
@ 2021-08-01  6:08     ` yanteng si
  0 siblings, 0 replies; 15+ messages in thread
From: yanteng si @ 2021-08-01  6:08 UTC (permalink / raw)
  To: Alex Shi
  Cc: Yanteng Si, Jonathan Corbet, Alex Shi, Wu X.C.,
	Huacai Chen, Jiaxun Yang, linux-doc, Puyu Wang

Alex Shi <seakeel@gmail.com> 于2021年8月1日周日 上午11:41写道:
>
> On Thu, Jun 24, 2021 at 5:05 PM Yanteng Si <siyanteng@loongson.cn> wrote:
> >
> > Translate Documentation/core-api/infiniband/core_locking.rst into Chinese.
> >
> > Signed-off-by: Yanteng Si <siyanteng@loongson.cn>
> > ---
> >  .../zh_CN/infiniband/core_locking.rst         | 114 ++++++++++++++++++
> >  .../translations/zh_CN/infiniband/index.rst   |   3 +-
> >  2 files changed, 116 insertions(+), 1 deletion(-)
> >  create mode 100644 Documentation/translations/zh_CN/infiniband/core_locking.rst
> >
> > diff --git a/Documentation/translations/zh_CN/infiniband/core_locking.rst b/Documentation/translations/zh_CN/infiniband/core_locking.rst
> > new file mode 100644
> > index 000000000000..567058246304
> > --- /dev/null
> > +++ b/Documentation/translations/zh_CN/infiniband/core_locking.rst
> > @@ -0,0 +1,114 @@
> > +
> > +.. include:: ../disclaimer-zh_CN.rst
> > +
> > +:Original: Documentation/core-api/infiniband/core_locking.rst
>
> I can't find the doc under core-api on next or upstream tree. Do I
> miss something?
OMG!
This is the carelessness of a lazy guy who is always thinking of
copying and pasting from somewhere else. T_T

:Original: Documentation/infiniband/core_locking.rst
>
> > +
> > +:翻译:
> > +
> > + 司延腾 Yanteng Si <siyanteng@loongson.cn>
> > +
> > +:校译:
> > +
> > + <sign>
> > +
> > +.. _cn_infiniband_core_locking:
> > +
> > +================
> > +无线带宽中间层锁
>
> I didn't find the 'infiniband' is tranlated to Chinese as a brand. So
> maybe leave it in Enghlish?
OK!
>
> Others are fine for me.

I will sent next patch version  in evening!

Thank you your review!


Thanks,

Yanteng

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-08-01  6:08 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-24  9:06 [PATCH 0/8] docs/zh_CN: add infiniband translation Yanteng Si
2021-06-24  9:06 ` [PATCH 1/8] docs/zh_CN: add infiniband index translation Yanteng Si
2021-07-27 15:56   ` Puyu Wang
2021-07-29 11:55     ` yanteng si
2021-06-24  9:06 ` [PATCH 2/8] docs/zh_CN: add infiniband core_locking translation Yanteng Si
2021-08-01  3:41   ` Alex Shi
2021-08-01  6:08     ` yanteng si
2021-06-24  9:06 ` [PATCH 3/8] docs/zh_CN: add infiniband ipoib translation Yanteng Si
2021-06-24  9:06 ` [PATCH 4/8] docs/zh_CN: add infiniband opa_vnic translation Yanteng Si
2021-06-24  9:06 ` [PATCH 5/8] docs/zh_CN: add infiniband sysfs translation Yanteng Si
2021-06-24  9:06 ` [PATCH 6/8] docs/zh_CN: add infiniband tag_matching translation Yanteng Si
2021-06-24  9:06 ` [PATCH 7/8] docs/zh_CN: add infiniband user_mad translation Yanteng Si
2021-06-24  9:06 ` [PATCH 8/8] docs/zh_CN: add infiniband user_verbs translation Yanteng Si
2021-07-25 20:45 ` [PATCH 0/8] docs/zh_CN: add infiniband translation Jonathan Corbet
2021-07-26  7:34   ` Jiaxun Yang

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.