c76490bffc
There are cases where the page_pool need to refill with pages from the page allocator. Some workloads cause the page_pool to release pages instead of recycling these pages. For these workload it can improve performance to bulk alloc pages from the page-allocator to refill the alloc cache. For XDP-redirect workload with 100G mlx5 driver (that use page_pool) redirecting xdp_frame packets into a veth, that does XDP_PASS to create an SKB from the xdp_frame, which then cannot return the page to the page_pool. Performance results under GitHub xdp-project[1]: [1] https://github.com/xdp-project/xdp-project/blob/master/areas/mem/page_pool06_alloc_pages_bulk.org Mel: The patch "net: page_pool: convert to use alloc_pages_bulk_array variant" was squashed with this patch. From the test page, the array variant was superior with one of the test results as follows. Kernel XDP stats CPU pps Delta Baseline XDP-RX CPU total 3,771,046 n/a List XDP-RX CPU total 3,940,242 +4.49% Array XDP-RX CPU total 4,249,224 +12.68% Link: https://lkml.kernel.org/r/20210325114228.27719-10-mgorman@techsingularity.net Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com> Signed-off-by: Mel Gorman <mgorman@techsingularity.net> Reviewed-by: Alexander Lobakin <alobakin@pm.me> Cc: Alexander Duyck <alexander.duyck@gmail.com> Cc: Christoph Hellwig <hch@infradead.org> Cc: Chuck Lever <chuck.lever@oracle.com> Cc: David Miller <davem@davemloft.net> Cc: Ilias Apalodimas <ilias.apalodimas@linaro.org> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: hongrongxuan <hongrongxuan@huawei.com> |
||
---|---|---|
Documentation | ||
LICENSES | ||
arch | ||
block | ||
certs | ||
crypto | ||
dist | ||
drivers | ||
fs | ||
include | ||
init | ||
ipc | ||
kernel | ||
lib | ||
mm | ||
net | ||
package | ||
samples | ||
scripts | ||
security | ||
sound | ||
tools | ||
usr | ||
virt | ||
.clang-format | ||
.cocciconfig | ||
.get_maintainer.ignore | ||
.gitattributes | ||
.gitignore | ||
.mailmap | ||
COPYING | ||
CREDITS | ||
Kbuild | ||
Kconfig | ||
MAINTAINERS | ||
Makefile | ||
README | ||
README.md | ||
backport_remove_lists.txt | ||
tools_key.pub |
README.md
Tencent Linux Kernel 4.0
一、项目介绍 README
wiki空间
TK (TencentOS kernel)是腾讯OS团队自研的TencentOS内核,将最新的Linux创新推向市场,
为企业各类软件提供了超强性能、高可伸缩性和可靠性。
生命周期
TK4基于社区5.4 longterm,2020年发布,2025年12月31日停止维护。
- 开发阶段:内核发布前的内部构建、准备、开发阶段。
- 全面支持:会持续开发、回合新特性、定期对其上游Bug Fix。
- 扩展支持:主要对齐上游bug fix patch,以稳定运行为主。
TK4各版本changelog信息
二、快速上手 Getting Started
1、config
本地编译前需要按照服务器类型准备好对应config文件,服务器编译可以跳过该部分
- 标准 X86 config路径
package/default/config.default
- 标准 ARM config路径
package/arm/config.default
2、构建&安装镜像
- 本地编译
make -j[x] # 编译
make modules_install install # 安装
- Tmanger编译
tmanger 在下拉菜单中选择对应仓库等,会自动进行编译,成功后会生成对应rpm压缩包。 执行如下指令安装
rpm -ivh *.rpm
(头文件rpm包最好使用-Uvh方式安装)
三、常见问题
详细各模块问题: 常见问题总结
- TK现网问题负责人
tlinux_helper,frankjpliu, shookliu,samuelliao,alexsshi。 - 如何查看内核版本
uname -r
4、行为准则
1、合入准则
TK采用TKCI保证合入代码的初步检测。 TKCI 是tkernel 自动CI系统, 它可以自动监测TKERNEL https://git.woa.com/tlinux/tkernel4 仓库任意push, 并对pushed commit/branch, 自动启动13个蓝盾测试,包括一个 commit 规范检查,12个内核不同config build测试,并支持TKCONFIG 内核准入测试(711case),未来还会支持更多。 TK4合入准则
2、MR请求
各领域Reviewer:
- 现网运营问题: samuelliao(廖生苗)
- TK通用Bug: kaixuxia(夏开旭)
- 如意相关问题: herberthbli(李弘博)
- 悟能相关问题: aurelianliu(刘诗)
- TK规范问题: alexsshi(时奎亮)
- BPF工具问题:
haisuwang(王海粟)
(或可联系内核研发组任意同学)
五、如何加入 How To Join
- 专职开发
企微联系:jasperwang(王佳) - Bug提交
可以MR方式提交,并联系前文提到的同学
六、团队介绍 Members
1、总览
2、新特性
悟能
悟能wiki空间
悟能(简称ECO),目前基于x86 core:c-state、uncore duf,两部分硬件节能。例如x86 cpu c-state,来做能效架构设计。以x86为例,在操作系统层面,通过电源管理、cpu idle子系统、调度器子系统、中断子系统等,使cpu空闲,并且使其进入深度睡眠c6 state,从而达到节能的目的。悟能的当前目标是:保证性能的前提下,争取节能。二期也就是现在到明年的目标是:提高性能的前提下,争取节能。
如意
如意wiki空间
如意,TencentOS RUE(Resource Utilization Enhancement),是TencentOS产品矩阵中一款专为云原生场景下服务器资源QoS设计,提升资源利用率,降低运营成本的产品。如意是统一调度分配云上机器的CPU、IO、网络、内存等资源,相比传统的服务器资源管理方案,如意更适用于云场景,能够显著提升云上机器的资源使用效率,降低云上客户的运营成本,为公有云、混合云、私有云等客户提供资源增值服务。
七、版本规划及changelog
1、版本规划
版本规划详见: https://iwiki.woa.com/pages/viewpage.action?pageId=4007003111
2、changelog
changelog详见: https://iwiki.woa.com/pages/viewpage.action?pageId=4007003117