From bf42adb3c1b3dd493edd5280e60302ebdcab3c77 Mon Sep 17 00:00:00 2001 From: Song Luo Date: Mon, 10 Apr 2023 09:59:36 +0800 Subject: [PATCH 1/3] automotive sig: add 20230407 meeting --- .../SIG\344\276\213\344\274\23220230407.md" | 24 +++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 "sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230407.md" diff --git "a/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230407.md" "b/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230407.md" new file mode 100644 index 00000000..cf15fad4 --- /dev/null +++ "b/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230407.md" @@ -0,0 +1,24 @@ + +## 会议主题 +AliOS Drive 0.2 发行版工作讨论 + +## 会议时间 +2023.04.07 15:00 + +## 参会人 + +- 参会人:SongLuo, dcl398652, d420233306, wbangin, jjc_ados + +## 会议记要 + +1. AliOS Drive 0.2 发版 +- ROS2 Desktop 移植完成,合计90个包,剩余 ROS2 (610个)编译中。 +- 支持 ROS2 Desktop 的 Docker 镜像已经提交到阿里云上,可通过以下方式拉取: +``` +docker pull registry.cn-hangzhou.aliyuncs.com/banma-autoos/alios_drive:0.2 +``` +- T-One 本地环境搭建完成,后继使用 T-One 测试框架进行 ROS2 测试验证 +- J5开发板支持 + - 采购4块J5开发板完成 + - 更新使用 SDK 重新编译的固件,系统 bring up OK + - 下一步开始同 AliOS Drive 0.2 进行集成 -- Gitee From c446b8fbce09f1eae9727f5838007999ff757d23 Mon Sep 17 00:00:00 2001 From: Song Luo Date: Mon, 10 Apr 2023 18:00:45 +0800 Subject: [PATCH 2/3] automotive sig: replace automotive word --- sig/Automotive_SIG/README.md | 12 ++++++------ .../SIG\344\276\213\344\274\23220230221.md" | 2 +- ...5\217\221\350\241\214\345\243\260\346\230\216.md" | 2 +- sig/Automotive_SIG/sig-info.yaml | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/sig/Automotive_SIG/README.md b/sig/Automotive_SIG/README.md index aed6b063..e7a1b606 100644 --- a/sig/Automotive_SIG/README.md +++ b/sig/Automotive_SIG/README.md @@ -1,15 +1,15 @@ ## SIG目标 -智能汽车是移动的数据中心,Automotive兴趣组致力于满足软件定义汽车的需求, 基于OpenAnolis社区围绕车载领域进行生态构建。此SIG组的主要活动包括: -+ 开发并维护车载相关的开源软件 -+ 导入并维护上游车载相关项目 +智能汽车是移动的数据中心,Automotive兴趣组致力于满足软件定义汽车的需求, 基于OpenAnolis社区围绕车用领域进行生态构建。此SIG组的主要活动包括: ++ 开发并维护车用相关的开源软件 ++ 导入并维护上游车用相关项目 + 发布基于OpenAnolis OS的下游发行版 -+ 提供车载相关开源软件需求到OpenAnolis OS -+ 运营社区在车载领域的活动 ++ 提供车用相关开源软件需求到OpenAnolis OS ++ 运营社区在车用领域的活动 ## SIG详细介绍 随着汽车行业新四化(电动化,网联化,智能化,共享化)趋势的持续加深,未来整车架构将向域融合、软硬解耦的电气架构革新转移。“软件定义汽车”的概念正在成为业界的共识,同时企业需要构建新的软件开发能力来应对软件定义时代的挑战。 -相比于传统的汽车传统控制器 ECU,目前的车载计算平台通常使用单个甚至多个集成 CPU、GPU、FPGA 或 AISC 的 SoC,可实现大量数据的并行计算和复杂的逻辑功能,硬件的性能,功能和复杂度上和ECU不可同日而语。这种转变为 Linux 发行版在车载领域的应用创造了一个机会,可以引领汽车从一组孤立的嵌入式系统转变为一个移动的数据中心。此 SIG 旨在成为此新模式中车载 Linux 的协作点。 +相比于传统的汽车传统控制器 ECU,目前的车用计算平台通常使用单个甚至多个集成 CPU、GPU、FPGA 或 AISC 的 SoC,可实现大量数据的并行计算和复杂的逻辑功能,硬件的性能,功能和复杂度上和ECU不可同日而语。这种转变为 Linux 发行版在车用领域的应用创造了一个机会,可以引领汽车从一组孤立的嵌入式系统转变为一个移动的数据中心。此 SIG 旨在成为此新模式中车用 Linux 的协作点。 ## SIG成员 | 成员 | 角色 | diff --git "a/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230221.md" "b/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230221.md" index d634070d..0fc85ed6 100644 --- "a/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230221.md" +++ "b/sig/Automotive_SIG/content/SIG\344\276\213\344\274\232/SIG\344\276\213\344\274\23220230221.md" @@ -11,7 +11,7 @@ AliOS Drive 发行版工作讨论 ## 会议记要 1. 3月 AliOS Drive 发行版工作规划 - - AliOS Drive 是龙蜥社区 Automotive SIG 小组基于龙蜥社区 Anolis OS 8 版本开发的车载领域的下游社区衍生发行版。 + - AliOS Drive 是龙蜥社区 Automotive SIG 小组基于龙蜥社区 Anolis OS 8 版本开发的车用领域的下游社区衍生发行版。 - 3月份计划发布 aliOS Drive 0.1,主要功能包括在 Anolis OS 8.8 下支持 ROS2 Humble Core 相关包 2. ROS2 选型 & 计划 - ROS2 本身版本迭代很快,大部分版本一年后即不维护。目前 ROS2 为配合 Ubuntu LTS 版本,从 Humble 开始会维护 LTS 版本。由于 Anolis OS 8 是一个稳定版,所以计划将 Humble 整体移植到 Anolis OS 8 上,作为一个长期稳定版。 diff --git "a/sig/Automotive_SIG/content/\347\211\210\346\234\254\345\217\221\345\270\203/AliOS Drive 0.1 \345\217\221\350\241\214\345\243\260\346\230\216.md" "b/sig/Automotive_SIG/content/\347\211\210\346\234\254\345\217\221\345\270\203/AliOS Drive 0.1 \345\217\221\350\241\214\345\243\260\346\230\216.md" index 14a966f6..53371e06 100644 --- "a/sig/Automotive_SIG/content/\347\211\210\346\234\254\345\217\221\345\270\203/AliOS Drive 0.1 \345\217\221\350\241\214\345\243\260\346\230\216.md" +++ "b/sig/Automotive_SIG/content/\347\211\210\346\234\254\345\217\221\345\270\203/AliOS Drive 0.1 \345\217\221\350\241\214\345\243\260\346\230\216.md" @@ -1,6 +1,6 @@ # 1. 引言 -AliOS Drive 是龙蜥社区 [Automotive SIG 小组](https://openanolis.cn/sig/automotive)基于龙蜥社区 Anolis OS 8 版本开发的车载领域的下游社区衍生发行版。
此次 AliOD Dirive 版本号为:0.1 +AliOS Drive 是龙蜥社区 [Automotive SIG 小组](https://openanolis.cn/sig/automotive)基于龙蜥社区 Anolis OS 8 版本开发的车用领域的下游社区衍生发行版。
此次 AliOD Dirive 版本号为:0.1 # 2. 发布内容 diff --git a/sig/Automotive_SIG/sig-info.yaml b/sig/Automotive_SIG/sig-info.yaml index b8a94551..a3b5a1a0 100644 --- a/sig/Automotive_SIG/sig-info.yaml +++ b/sig/Automotive_SIG/sig-info.yaml @@ -1,7 +1,7 @@ -name: 车载 +name: 车用 en_name: automotive home_page: https://openanolis.cn/sig/automotive -description: Automotive兴趣组致力于满足软件定义汽车的需求, 基于OpenAnolis社区围绕车载领域进行生态构建。 +description: Automotive兴趣组致力于满足软件定义汽车的需求, 基于OpenAnolis社区围绕车用领域进行生态构建。 en_description: Automotive SIG is committed to meeting the needs of software-defined cars, and based on the OpenAnolis community to build an ecology around the vehicle field. mailing_list: automotive@lists.openanolis.cn maintainers: -- Gitee From 4375187b2e1f747c2d7fca9a53308f09955e0d4b Mon Sep 17 00:00:00 2001 From: Wen Gu Date: Mon, 10 Apr 2023 19:23:35 +0800 Subject: [PATCH 3/3] Add HighPerfNetworkSIG 2023-Mar monthly report Signed-off-by: Wen Gu --- .../content/reports/2023/2023.03.md | 74 +++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 sig/high-perf-network-sig/content/reports/2023/2023.03.md diff --git a/sig/high-perf-network-sig/content/reports/2023/2023.03.md b/sig/high-perf-network-sig/content/reports/2023/2023.03.md new file mode 100644 index 00000000..3bd8fcf1 --- /dev/null +++ b/sig/high-perf-network-sig/content/reports/2023/2023.03.md @@ -0,0 +1,74 @@ +# 整体进展 + +本月高性能网络 SIG 的主要工作聚焦在 SMC,virtio 和 AnolisOS 通用内核网络上。 + +本月关键进展: +1. 本月 SIG 小组和 IBM SMC 开发团队在 SMC v2 的协议扩展上达成了一致,至此 SIG 推进的几个关键协议扩展内容(单连接特性支持,LGR 最大连接数可协商支持,RDMA write with immediate 支持,以及可扩展的选项等)在 SMC 开发者例会上基本讨论完毕。 +2. SIG 小组提出并推进的 [virtio-net: support the virtqueue coalescing moderation](https://lists.oasis-open.org/archives/virtio-dev/202303/msg00415.html) 提案在 virtio 社区投票通过,该提案可以让 virtio-net 支持动态中断调节,提升 virtio-net 的性能。 + +# Anolis OS + +1. 修复 + +Anolis OS ANCK 5.10 新增以下修复: + +- [ [Anck 5.10 aarch64][nightly]kernel_selftests测试套下net.tls用例fail:在 ->get_port() 前将 err 设置成正确的错误码 ](https://bugzilla.openanolis.cn/show_bug.cgi?id=2394) +- [ [Anck 5.10 nightly][ANCK-5.10-14][x86_64]kernel-selftests:执行net目录下reuseaddr_ports_exhausted.sh用例fail:修复内核为未建立的 socket 附加 ktls ULP 时返回正确的错误码 ](https://bugzilla.openanolis.cn/show_bug.cgi?id=4510) + +2. 安全 + +本月网络方向共计修复 17 个 CVE,覆盖 ulp/wifi/sched/ipv6/sctp/mpls/usb/nfc/netfilter/bluetooth 等模块,CVE 列表: +CVE-2022-4129,CVE-2023-0461, CVE-2023-23455,CVE-2023-23559,CVE-2022-47929,CVE-2023-0394,CVE-2023-1074,CVE-2023-26545,CVE-2022-2964,CVE-2023-23454,CVE-2023-1281,CVE-2020-25672,CVE-2023-0590,CVE-2020-25670,CVE-2023-1095,CVE-2022-20566,CVE-2020-25671。 + +# 高性能网络协议栈 SMC + +本月,龙蜥社区高性能网络 SIG 在 SMC 领域的工作,主要聚焦在标准化协议的扩展、本机高性能通信方案和 eBPF 策略替换能力。 + +1. 本机高性能通信方案 + +本机的 loopback 和容器间(跨 netns)通信已经是一种常见的数据路径,在数据处理和云原生场景有着非常广泛的使用。例如云原生场景下,service mesh 通过 proxy 进程与业务进程、sidecar 进行通信。SMC 提供了本机(loopback 和 容器间)的高性能通信方案,对比传统的用户态 IPC、以及内核的 TCP loopback 或者 UNIX domain socket 等方案,除了性能具有非常大的优势之外(详细数据可参考 [LWN 链接](https://lwn.net/Articles/927410/)),同时对于应用透明无侵入、无修改。 +本月我们继续完善已经推送到 Linux 社区的 RFC 提案,并发送出 v4 版本([LWN 链接](https://lwn.net/Articles/927410/))。从当前反馈来看,linux 社区对于方案的适用场景、可行性已经达成一致。目前聚焦在 SMC 协议如何确保唯一识别到本机的 loopback 设备。当前的方案是通过多重 ID 来区分不同的 loopback 设备,冲突的概率在 1/2^(64*3)。关于 SMC loopback 的更进一步的议题,我们将在 SMC 开发者例会上与 Linux 社区的 maintainer 进一步沟通。 + + +2. 协议扩展 + +SMC 协议定义在 IETF RFC 7609 和 IBM SMC PDF 手册之中,协议规定了双方如何握手直至建立连接并正常通信。当前协议存在一些问题,例如 SMCv2 协议尚未标准化,以及尚无针对协议设定预期场景之外的拓展。 +本月我们龙蜥社区与 Linux 社区在协议扩展上达成了一致,至此我们推进的几个关键协议扩展内容在 SMC 开发者例会上讨论基本完毕,并在经过一系列 review 和 comment 之后,进入正式的协议更新和发布流程。 +本次达成一致的协议扩展主要包括:单连接的特性的支持,LGR 最大连接数可协商的支持,RDMA write with immediate 的支持,以及可扩展的选项等。 + +3. eBPF 策略替换 + +SMC 提供了动态回退 TCP 的能力,当前的回退策略的决策因素主要是由 RDMA / ISM 连接建立是否成功。由于 SMC 短链接性能不如 TCP,为了让 SMC 更加通用,因此计划给 SMC 增加基于策略的回退 TCP 的能力,帮助 SMC 更好的适配不同应用模型和场景。 +基于上面的背景,我们向 Linux 的 BPF 社区推送了基于 eBPF struct ops 特性的 SMC 策略回退的补丁,并于 BPF 的 maintainer 和 struct ops 的作者讨论实现细节。基于讨论的细节,我们发送了更新版本的[补丁](https://lore.kernel.org/bpf/1680795034-86384-1-git-send-email-alibuda@linux.alibaba.com/T/#mbb8dcfc0cc483749590f302d764176275223ed9f)。如果 eBPF 策略替换方案被社区接受后,我们将 eBPF 策略替换的用户态实现提交到 SMC 工具(smc-tools)之中,简化用户使用,同时 SMC ULP 方案也将会被废弃。 + +# virtio + +1. virtio specification 支持 virtqueue notification coalescing + +背景:[Net DIM (Generic Network Dynamic Interrupt Moderation)](https://www.kernel.org/doc/html/next/networking/net_dim.html) 算法通过统计当前网络中单个队列的流量信息和中断次数,自适应计算中断调整方向和步长,并将结果配置下发到设备,以达到提升网络吞吐量的目的。由于目前的 virtio specification 不支持对单个队列进行中断参数下发,所以还无法支持 netdim。 + +高性能网络组推进的 virtio-net: support the virtqueue coalescing moderation 的提案,可以让 virtio-net 支持动态中断调节,并对逐个队列下发中断调节参数,目前该工作已经被 virtio 社区投票通过([链接](https://lists.oasis-open.org/archives/virtio-dev/202303/msg00415.html))。 + +2. virtio-net inner header hash + +为了支持 VXLAN,GENEVE,GRE 等隧道协议基于内头部计算哈希,提升 RSS 以及监控场景的收包性能, 高性能网络 SIG 小组发起了 [virtio_net: support inner header hash](https://lists.oasis-open.org/archives/virtio-dev/202303/msg00415.html) 的提案。 + +本月v9->v12的讨论主要集中在 inner header hash 如何更好的支持对称哈希的主题上: + +legacy GRE 等隧道协议基于 IP 头进行传输,其既没有外部端口号,也没有可以用于识别 flow-specific 的字段,所以基于内头部计算哈希是十分必要的。另外,VXLAN,GENEVE 等现代隧道协议虽然都可基于 transport header 进行传输,即可以通过外部端口号来提高熵,但是在某些监控场景下,它们可能需要同一流的数据包被散列到同一个接收队列,但是同一条流可能会经过不同隧道封装,因此,必须使用内头部计算对称哈希才能到达此目的。 + +目前针对如何找出一个 key 或者 hash 算法可以同时对称散列 ipv4/ipv6 数据包的问题还没有达成一致,我们会和社区进一步沟通以让 inner header hash 更加通用。 + +3. virtio-net 支持 AF_XDP zerocopy + +背景: AF_XDP 是一个 bypass 内核的新的收发包框架。它可以把驱动的收包直接传递到用户态, 用户态可以直接把包从用户态传递到驱动直接发送出去。它的性能相比于内核的 UDP PPS 可以提升 3-7 倍。但是它要驱动进行 zerocopy 的支持。 + +目前这个系列的 patch set 由于数量太多, 计划分成两个部分: + +- virtio core 支持 DMA premapped。 这个部分是让 virtio core 框架支持提交 DMA address 操作, 目前的实现里面, 所有的 DMA 操作都在 virito core 里面完成的, 我们要让 virtio core 支持传递 DMA address 给 virtio core。 因为 AF_XDP 会提前完成所有的地址的 DMA 操作,以及一些 virtqueue reset 的相关操作。 + - 这部分已经基本在社区的 review 通过。 + +- virtio-net 支持 AF_XDP。 后续的工作在前面一个 patch set 的基础上, 会提交到 net-next 分支上。 + - 这部分的 patch 也进行了拆分, 目前在推进对于 virtio-net 的 xdp 进行代码重构。这一实现已经和社区基本达成了一致。 + - 后续的 patch 会在下一个版本发布之后, net 部分包含了 virtio core 的代码更新之后再提交。 + -- Gitee