---
README.en.md | 41 +++++++++++---------------
README.md | 54 +++++++++++++++++++---------------
doc/img/sysBoost-stack-en.png | Bin 0 -> 27604 bytes
doc/img/sysBoost-stack.png | Bin 0 -> 21539 bytes
4 files changed, 47 insertions(+), 48 deletions(-)
create mode 100644 doc/img/sysBoost-stack-en.png
create mode 100644 doc/img/sysBoost-stack.png
diff --git a/README.en.md b/README.en.md
index 9bd75bf..3a6196c 100644
--- a/README.en.md
+++ b/README.en.md
@@ -4,33 +4,26 @@
Sysboost converts dynamic links into static links by combining executable files and dynamic library files. This reduces the overhead and delay of dynamic links and improves the execution efficiency of programs.
#### Software Architecture
-Software architecture description
+
+Microarchitecture-Aware
-#### Installation
-
-1. xxxx
-2. xxxx
-3. xxxx
+Dynamic library stitching
+In the ld loading phase, code segments of scattered dynamic libraries are combined and aggregated, and huge page memory is used to improve the iTLB hit ratio.
-#### Instructions
+exec HugePages
+The user-mode hugepages mechanism requires application configuration modification and recompilation. The exec native hugepage mechanism directly uses hugepage memory in the ELF file loading phase, which is transparent to apps.
-1. xxxx
-2. xxxx
-3. xxxx
-
-#### Contribution
-
-1. Fork the repository
-2. Create Feat_xxx branch
-3. Commit your code
-4. Create Pull Request
+Eliminate PLT redirection
+In the process of invoking dynamic library functions, the application code needs to jump to the PLT table and then to the real function. Eliminating the PLT jump can improve the IPC.
+Online re-arrangement of hot sections
+By default, code snippets are arranged based on the dynamic library granularity. Hot code can be rearranged based on the section granularity using the online rearrangement technology.
+#### Installation
+For details, see the sysBoost section in openEuler/docs.
-#### Gitee Feature
+#### Instructions
+For details, see the sysBoost section in openEuler/docs.
-1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
-2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
-3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
-4. The most valuable open source project [GVP](https://gitee.com/gvp)
-5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
-6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+#### Contribution
+1. If bugs are found or new requirements are required, submit issue; https://gitee.com/openeuler/sysboost/issues.
+2. Submit the patch for fixing bugs or new features through Pull Request.
diff --git a/README.md b/README.md
index 9bd75bf..7add59d 100644
--- a/README.md
+++ b/README.md
@@ -1,36 +1,42 @@
# sysboost
-#### Description
-Sysboost converts dynamic links into static links by combining executable files and dynamic library files. This reduces the overhead and delay of dynamic links and improves the execution efficiency of programs.
+#### 介绍
-#### Software Architecture
-Software architecture description
+通过sysboost代码重排技术对可执行文件和动态库文件在线重排操作,优化代码与运行环境的CPU微架构的适应性, 提升程序性能。该技术在保证程序语义和意图不变的情况下, 优化汇编指令, 代码布局, 数据布局, 内存大页, 系统调用等。
-#### Installation
+#### 软件架构
-1. xxxx
-2. xxxx
-3. xxxx
+
-#### Instructions
+微架构优化技术
-1. xxxx
-2. xxxx
-3. xxxx
+动态库拼接
+通过ld加载阶段将分散的动态库的代码段数据段拼接聚合,然后使用大页内存提升iTLB命中率。
-#### Contribution
+exec原生大页
+用户态大页机制需要应用修改配置和重编译,exec原生大页机制直接在内核加载ELF文件阶段使用大页内存,对APP透明。
-1. Fork the repository
-2. Create Feat_xxx branch
-3. Commit your code
-4. Create Pull Request
+消除PLT跳转
+应用代码调用动态库函数的流程,需要先跳转PLT表,然后跳转真实函数,消除PLT跳转能提升IPC。
+热点Section在线重排
+默认情况下代码段是按动态库粒度排布的,通过在线重排技术可以实现热点代码按Section粒度重排。
-#### Gitee Feature
-1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
-2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
-3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
-4. The most valuable open source project [GVP](https://gitee.com/gvp)
-5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
-6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+
+#### 构建/安装教程
+
+请参考openEuler/docs下sysBoost章节;
+
+
+
+#### 使用说明
+
+请参考openEuler/docs下sysBoost章节;
+
+
+
+#### 参与贡献
+
+1. 发现BUG或者有新需求请提issue; https://gitee.com/openeuler/sysboost/issues
+2. 修复BUG或者新特性的补丁请通过Pull Request提交;
\ No newline at end of file
diff --git a/doc/img/sysBoost-stack-en.png b/doc/img/sysBoost-stack-en.png
new file mode 100644
index 0000000000000000000000000000000000000000..9ef9c0081d66719517cf70969a5cc1de4fcd54d2
GIT binary patch
literal 27604
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
z
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
literal 0
HcmV?d00001
--
2.28.0.windows.1