diff --git "a/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md" "b/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md" index b6762ccbfb7ef964a92883907efda4f6478b2a78..bb5637aa18c7f4fb3746015add2a06155d1a4483 100644 --- "a/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md" +++ "b/docs/zh/docs/ApplicationDev/\344\275\277\347\224\250Clang\347\274\226\350\257\221.md" @@ -22,7 +22,7 @@ openEuler操作系统中通过yum源安装Clang和LLVM软件包。默认安装ll ``` $ yum install llvm $ yum install clang -$ yum install lld +$ yum install lld // openEuler yum源中目前没有lld-12版本 ``` 验证安装是否成功 diff --git "a/docs/zh/docs/Pin/\346\217\222\344\273\266\346\241\206\346\236\266\347\211\271\346\200\247\347\224\250\346\210\267\346\214\207\345\215\227.md" "b/docs/zh/docs/Pin/\346\217\222\344\273\266\346\241\206\346\236\266\347\211\271\346\200\247\347\224\250\346\210\267\346\214\207\345\215\227.md" index f0434d3c7711287cfc92c2dc760be0db04e42335..582a694407c302b6528921ba05fd1567c2e68af1 100755 --- "a/docs/zh/docs/Pin/\346\217\222\344\273\266\346\241\206\346\236\266\347\211\271\346\200\247\347\224\250\346\210\267\346\214\207\345\215\227.md" +++ "b/docs/zh/docs/Pin/\346\217\222\344\273\266\346\241\206\346\236\266\347\211\271\346\200\247\347\224\250\346\210\267\346\214\207\345\215\227.md" @@ -6,34 +6,72 @@ * ARM架构 ## 环境准备 * 安装openEuler系统,安装方法参考 《openEuler 23.03 安装指南》。 +### 安装依赖软件 +#### 安装插件框架GCC客户端依赖软件 +```shell +yum install -y grpc +yum install -y grpc-devel +yum install -y grpc-plugins +yum install -y protobuf-devel +yum install -y jsoncpp +yum install -y jsoncpp-devel +yum install -y gcc-plugin-devel +yum install -y llvm-mlir +yum install -y llvm-mlir-devel +yum install -y llvm-devel +``` +#### 安装插件框架服务端依赖软件 +```shell +yum install -y grpc +yum install -y grpc-devel +yum install -y grpc-plugins +yum install -y protobuf-devel +yum install -y jsoncpp +yum install -y jsoncpp-devel +yum install -y llvm-mlir +yum install -y llvm-mlir-devel +yum install -y llvm-devel +``` ## 安装Pin ### rpm构建 -#### 构建GCC客户端 +#### 构建插件框架GCC客户端 ```shell -rpmbuild -ba pin-gcc-client-0.4.1 +git clone https://gitee.com/src-openeuler/pin-gcc-client.git +cd pin-gcc-client +mkdir -p ~/rpmbuild/SOURCES +cp *.path pin-gcc-client.tar.gz ~/rpmbuild/SOURCES +rpmbuild -ba pin-gcc-client.spec +cd ~/rpmbuild/RPMS +rpm -ivh pin-gcc-client.rpm ``` -#### 构建Pin服务端 +#### 构建插件框架服务端 ```shell -rpmbuild -ba pin-server-0.4.0 +git clone https://gitee.com/src-openeuler/pin-server.git +cd pin-server +mkdir -p ~/rpmbuild/SOURCES +cp *.path pin-server.tar.gz ~/rpmbuild/SOURCES +rpmbuild -ba pin-server.spec +cd ~/rpmbuild/RPMS +rpm -ivh pin-server.rpm ``` ### 编译构建 -#### 构建GCC客户端 +#### 构建插件框架GCC客户端 ```shell git clone https://gitee.com/openeuler/pin-gcc-client.git cd pin-gcc-client mkdir build cd build -cmake ../ -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} -DCMAKE_INSTALL_LIBDIR=${INSTALL_LIB} -DCMAKE_SKIP_RPATH=ON -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make && make install +cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} +make ``` -#### 构建Pin服务端 +#### 构建插件框架服务端 ```shell git clone https://gitee.com/openeuler/pin-server.git cd pin-server mkdir build cd build -cmake ../ -DCMAKE_INSTALL_PREFIX=${INSTALL_PATH} -DCMAKE_INSTALL_LIBDIR=${INSTALL_LIB} -DCMAKE_SKIP_RPATH=ON -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} -make && make install +cmake ../ -DMLIR_DIR=${MLIR_PATH} -DLLVM_DIR=${LLVM_PATH} +make ``` # 使用方法 @@ -42,11 +80,19 @@ make && make install ```shell $(TARGET): $(OBJS) $(CXX) -fplugin=${CLIENT_PATH}/build/libpin_gcc_client.so \ - -fplugin-arg-libpin_gcc_client-server_path="${SERVER_PATH}/build/pin_server" \ + -fplugin-arg-libpin_gcc_client-server_path=${SERVER_PATH}/build/pin_server \ -fplugin-arg-libpin_gcc_client-log_level="1" \ -fplugin-arg-libpin_gcc_client-arg1="xxx" ``` +为了方便用户使用,可以通过`${INSTALL_PATH}/bin/pin-gcc-client.json`文件,进行插件配置。配置选项如下: + +`path` : 配置插件框架服务端可执行文件路径 + +`sha256file` : 配置插件工具的校验文件`xxx.sha256`路径 + +`timeout` : 配置跨进程通信超时时间,单位`ms` + 编译选项: `-fplugin`:指定插件客户端.so所在路径 @@ -55,4 +101,8 @@ $(TARGET): $(OBJS) `-fplugin-arg-libpin_gcc_client-log_level`:指定日志系统默认记录等级,取值`0~3`。默认为`1` -`-fplugin-arg-libpin_gcc_client-argN`:用户可以根据插件工具要求,指定其他参数。N取值正整数。 \ No newline at end of file +`-fplugin-arg-libpin_gcc_client-argN`:用户可以根据插件工具要求,指定其他参数。argN代指插件工具要求的参数字段。 + +# 兼容性说明 +此节主要列出当前一些特殊场景下的兼容性问题。本项目持续迭代中,会尽快进行修复,也欢迎广大开发者加入。 +* 插件框架在`-flto`阶段使能时,不支持使用`make -j`多进程编译。建议改用`make -j1`进行编译。 diff --git "a/docs/zh/docs/Releasenotes/\345\205\263\351\224\256\347\211\271\346\200\247.md" "b/docs/zh/docs/Releasenotes/\345\205\263\351\224\256\347\211\271\346\200\247.md" index 0e0e904238c2abbf201f55b44149bc1afbcf8af9..1ac43145ae1f6c19cb907eb989f6ed8e5e37ceb5 100644 --- "a/docs/zh/docs/Releasenotes/\345\205\263\351\224\256\347\211\271\346\200\247.md" +++ "b/docs/zh/docs/Releasenotes/\345\205\263\351\224\256\347\211\271\346\200\247.md" @@ -1,27 +1,10 @@ # 关键特性 -## openEuler 22.09基于 Linux Kernel 5.10内核构建, 同时吸收了社区高版本的有益特性及社区创新特性。 +## openEuler 23.03基于 Linux Kernel 6.1.19内核构建, 同时吸收了社区创新特性的适配改造。 -- **BPF CO-RE(Compile Once-Run Everywhere)特性**: 解决BPF的可移植性,即编写的程序通过编译和内核校验之后,能正确地在 不同版本的内核上运行 —— 而无需针对不同内核重新编译。 +- **Kmesh特性**: Kmesh是一种基于可编程内核实现的高性能网格数据面;提供服务网格场景下高性能的服务通信能力。 -- **内存RAS - 高可靠内存**:可以支持内核、关键进程、内存文件系统、文件缓存使用高可靠内存,避免内存多 bit 故障引起内核复位。改进了对高可靠内存的支持,相比22.03,对高可靠内存支持更加完善。 - -- **可定制缓存**:基于BPF实现的内核缓存,可以大幅提升Redis 性能。 - -- **支持 AArch64 SME (Scalable Matrix Extension)**:SME 是下一代 SIMD,其功能超越了 Arm 的 Neon。旨在为 AArch64 提供更好的 HPC 和机器学习性能。 - -- **Rust for linux 驱动框架**:为 Linux 提供了 Rust 相关的基础设施和方便编写 Linux 驱动的安全抽象。 - -- **SM3/SM4国密算法**:模块签名支持国密算法,国密加速。 - -- **代码段大页**:以减少 TLB Miss,提升应用性能。 - -## 可编程内核,最贴合应用的内核 -**基于eBPF的可编程调度框架,支持内核调度器动态扩展调度策略,以满足不同负载的性能需求,具备以下特点**: - -1. **标签管理机制**:开放对任务和任务组进行标签标记的能力,用户和内核子系统可通过接口对特定工作负载进行标记,调度器通过标签可以感知特定工作负载的任务 - -2. **抢占、选核、选任务等功能点的策略扩展**:可编程调度框架支持CFS调度类抢占,选核,选任务等功能的策略扩展,提供精心设计的扩展点和丰富的辅助方法,帮助用户简单,高效的扩展策略 +- **NFS客户端多路径特性**:NFS客户端多路径支持单个NFS挂载点使用多个IP进行访问,提升NFS的访问性能与故障切换能力。内核在NFS和sunrpc模块做相应的适配改造。 ## WASM安全沙箱引擎 diff --git a/docs/zh/docs/desktop/Install_Cinnamon.md b/docs/zh/docs/desktop/Install_Cinnamon.md index b660e61e2d2e126bce77d813b9f9506269e316db..a425494a3b3f39db6c1635c3aef40811389ffdf7 100644 --- a/docs/zh/docs/desktop/Install_Cinnamon.md +++ b/docs/zh/docs/desktop/Install_Cinnamon.md @@ -49,7 +49,7 @@ sudo dnf install cinnamon cinnamon-control-center cinnamon-desktop \ perl-XML-Dumper xapps mint-x-icons mint-y-icons mintlocale \ python3-plum-py caribou mozjs78 python3-pam \ python3-tinycss2 python3-xapp tint2 gnome-terminal \ - lightdm lightdm-gtk + lightdm lightdm-gtk gnome-control-center gnome-software ``` ##5. 开机自动启动登录管理器