{"id":13439497,"url":"https://github.com/0voice/kernel_new_features","last_synced_at":"2025-05-15T15:04:45.271Z","repository":{"id":37404871,"uuid":"448868245","full_name":"0voice/kernel_new_features","owner":"0voice","description":"一个深挖 Linux 内核的新功能特性，以 io_uring, cgroup, ebpf, llvm 为代表，包含开源项目，代码案例，文章，视频，架构脑图等","archived":false,"fork":false,"pushed_at":"2024-05-20T12:10:34.000Z","size":75627,"stargazers_count":1812,"open_issues_count":3,"forks_count":271,"subscribers_count":63,"default_branch":"main","last_synced_at":"2025-04-07T20:09:27.494Z","etag":null,"topics":["ceph","ebpf","fuse","iouring","kvm","linux-kernel"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/0voice.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-01-17T11:35:46.000Z","updated_at":"2025-04-07T12:38:31.000Z","dependencies_parsed_at":"2024-09-20T20:01:10.329Z","dependency_job_id":"dc4e9c22-ea7e-4ef6-a11f-b15fb43f2734","html_url":"https://github.com/0voice/kernel_new_features","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0voice%2Fkernel_new_features","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0voice%2Fkernel_new_features/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0voice%2Fkernel_new_features/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0voice%2Fkernel_new_features/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0voice","download_url":"https://codeload.github.com/0voice/kernel_new_features/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254364270,"owners_count":22058878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ceph","ebpf","fuse","iouring","kvm","linux-kernel"],"created_at":"2024-07-31T03:01:14.400Z","updated_at":"2025-05-15T15:04:45.250Z","avatar_url":"https://github.com/0voice.png","language":"C","readme":"# 🔰 深挖 Linux 内核的新功能特性，以 io_uring, cgroup, ebpf, llvm 为代表，包含开源项目，代码案例，文章，视频，架构脑图等\n\n所有数据来源于互联网。所谓取之于互联网，用之于互联网。\n\n如果涉及版权侵犯，请邮件至 wchao_isvip@163.com ，我们将第一时间处理。\n\n如果您对我们的项目表示赞同与支持，欢迎您 lssues我们，或者邮件 wchao_isvip@163.com 我们，更加欢迎您 pull requests 加入我们。\n\n感谢您的支持！\n\n\n## 🔥 [io_uring](https://en.wikipedia.org/wiki/Io_uring) \n\n\u003cdiv  align=center\u003e\n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/149773115-12090153-72dc-4d48-ab2a-fbb39a0d4503.png\"/\u003e\n  \n#### —— 2019 年 Linux 5.1 内核首次引入的高性能 异步 I/O 框架，能显著加速 I/O 密集型应用的性能。\n\n\u003c/div\u003e\n\n### 文档\n- 官方文档: [Efficient I/O with io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring.pdf)\n- 其他文档：\n  - [Improved Storage Performance Using the New Linux Kernel I.O Interface](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/Improved%20Storage%20Performance%20Using%20the%20New%20Linux%20Kernel%20I.O%20Interface.pdf)\n  - [I/O-uring speed the RocksDB \u0026 TiKV](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/IO-uring%20speed%20the%20RocksDB%20%26%20TiKV.pdf)\n  - [The Evolution of File Descriptor Monitoring in Linux](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/The%20Evolution%20of%20File%20Descriptor%20Monitoring%20in%20Linux.pdf)\n  - [io_uring-BPF](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/io_uring-BPF.pdf)\n  - [Enabling Financial-Grade Secure Infrastructure with Confidential Computing](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/Enabling%20Financial-Grade%20Secure%20Infrastructure%20with%20Confidential%20Computing.pdf)\n  - [Boosting Compaction in B-Tree Based Key-Value Store by Exploiting Parallel Reads in Flash SSDs](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/Boosting%20Compaction%20in%20B-Tree%20Based%20Key-Value%20Store%20by%20Exploiting%20Parallel%20Reads%20in%20Flash%20SSDs.pdf)\n  - [Programming Emerging Storage Interfaces](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/Programming%20Emerging%20Storage%20Interfaces.pdf)\n  - [I/O is faster than the OS](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/O%20is%20faster%20than%20the%20OS.pdf)\n  - [StefanMetzmacher_sambaxp2021_multichannel_io-uring-rev0-presentation](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/StefanMetzmacher_sambaxp2021_multichannel_io-uring-rev0-presentation.pdf)\n  - [I/O Stack](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/O%20Stack.pdf)\n  - [io_uring-徐浩-阿里云](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E6%A1%A3/io_uring-%E5%BE%90%E6%B5%A9-%E9%98%BF%E9%87%8C%E4%BA%91.pdf)\n\n### 开源项目 \n- [axboe/liburing](https://github.com/axboe/liburing): io_uring 库，liburing为设置和拆掉 io_uring 实例，还有一个简化接口不需要（或不想）处理完整内核的应用程序边执行。\n- [shuveb/io_uring-by-example](https://github.com/shuveb/io_uring-by-example): 一个io_uring 示例的库\n- [bytedance/monoio](https://github.com/bytedance/monoio): 基于io-uring的Rust异步运行时\n- [spacejam/rio](https://github.com/spacejam/rio): Rust io_uring库，构建在libc上，线程和异步友好，抗误用\n- [Iceber/iouring-go](https://github.com/Iceber/iouring-go): 提供易于使用的异步IO接口io_uring\n- [frevib/io_uring-echo-server](https://github.com/frevib/io_uring-echo-server): io_uring echo server\n- [hodgesds/iouring-go](https://github.com/hodgesds/iouring-go): Io_uring支持go\n- [dshulyak/uring](https://github.com/dshulyak/uring): 用于io_uring框架的Golang库(无CGO)\n- [quininer/ritsu](https://github.com/quininer/ritsu): 一个实验性的基于io-uring的异步运行时。\n- [shuveb/loti-examples](https://github.com/shuveb/loti-examples): 源代码示例程序，从主的io_uring指南\n- [xuanyi-fu/xynet](https://github.com/xuanyi-fu/xynet): 基于io_uring和c++ 20协程的网络库\n- [KuiBaDB/kbio](https://github.com/KuiBaDB/kbio): 一个基于io_uring的异步IO框架\n- [shuveb/loti](https://github.com/shuveb/loti): io_uring教程，例子和参考\n- [MarkReedZ/mrloop](https://github.com/MarkReedZ/mrloop): C语言使用io_uring的事件循环\n- [tchaloupka/during](https://github.com/tchaloupka/during): dlang io_uring包装\n- [omegacoleman/arkio](https://github.com/omegacoleman/arkio): 基于异步IO的内核IO库\n- [ciconia/awesome-io_uring](https://github.com/ciconia/awesome-io_uring): 一个很棒的io_uring资源、库和工具的分类集合。\n- [ddeka0/AsyncIO](https://github.com/ddeka0/AsyncIO): 一个用于异步套接字服务器的CPP包装器，使用linux最新的io_uring API\n- [uroni/fuseuring](https://github.com/uroni/fuseuring): 使用io_uring实现一个用户空间Linux fuse服务器\n- [yunwei37/co-uring-WebServer](https://github.com/yunwei37/co-uring-WebServer): 一个使用io_uring和cpp20协同程序的c++高性能Web服务器\n- [romange/helio](https://github.com/romange/helio): 一个基于io_uring Linux接口的现代后端开发框架\n- [3541/short-circuit](https://github.com/3541/short-circuit): Linux高性能web服务器，基于io_uring构建。\n- [anolis-os-archive/perf-test-for-io_uring](https://github.com/anolis-os-archive/perf-test-for-io_uring): 一个用于io_uring性能测试的框架。\n- [BlazeWasHere/Cnidus](https://github.com/BlazeWasHere/Cnidus): 基于io_uring的C语言web框架。\n- [AnSpake/osiris](https://github.com/AnSpake/osiris): 一个简单的服务器/客户端，使用io_uring\n\n### 文章\n\n- [io_uring 高效 IO](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring%20%E9%AB%98%E6%95%88%20IO.md)\n- [ [译] Linux 异步 I_O 框架 io_uring：基本原理、程序示例与性能压测（2020）](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/%5B%E8%AF%91%5D%20Linux%20%E5%BC%82%E6%AD%A5%20I_O%20%E6%A1%86%E6%9E%B6%20io_uring%EF%BC%9A%E5%9F%BA%E6%9C%AC%E5%8E%9F%E7%90%86%E3%80%81%E7%A8%8B%E5%BA%8F%E7%A4%BA%E4%BE%8B%E4%B8%8E%E6%80%A7%E8%83%BD%E5%8E%8B%E6%B5%8B%EF%BC%882020%EF%BC%89.md)\n- [浅析开源项目之io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/%E6%B5%85%E6%9E%90%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%E4%B9%8Bio_uring.md)\n- [io_uring 系统性整理](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring%20%E7%B3%BB%E7%BB%9F%E6%80%A7%E6%95%B4%E7%90%86.md)\n- [io_uring（1） – 我们为什么会需要 io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring%EF%BC%881%EF%BC%89%20%E2%80%93%20%E6%88%91%E4%BB%AC%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BC%9A%E9%9C%80%E8%A6%81%20io_uring.md)\n- [io_uring（2）- 从创建必要的文件描述符 fd 开始](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring%EF%BC%882%EF%BC%89-%20%E4%BB%8E%E5%88%9B%E5%BB%BA%E5%BF%85%E8%A6%81%E7%9A%84%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6%20fd%20%E5%BC%80%E5%A7%8B.md)\n- [下一代异步 IO io_uring 技术解密](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/%E4%B8%8B%E4%B8%80%E4%BB%A3%E5%BC%82%E6%AD%A5%20IO%20io_uring%20%E6%8A%80%E6%9C%AF%E8%A7%A3%E5%AF%86.md)\n- [小谈io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/%E5%B0%8F%E8%B0%88io_uring.md)\n- [智汇华云-新时代IO利器-io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/%E6%99%BA%E6%B1%87%E5%8D%8E%E4%BA%91-%E6%96%B0%E6%97%B6%E4%BB%A3IO%E5%88%A9%E5%99%A8-io_uring.md)\n- [Linux 5.1 的 io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/Linux%205.1%20%E7%9A%84%20io_uring.md)\n- [What is io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/What%20is%20io_uring)\n- [io_uring_setup](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring_setup.md)\n- [io_uring_enter](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring_enter.md)\n- [io_uring_register](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/io_uring_register.md)\n- [The Low-level io_uring Interface](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/The%20Low-level%20io_uring%20Interface.md)\n- [Submission Queue Polling](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/Submission%20Queue%20Polling.md)\n- [Efficient IO with io_uring](https://github.com/0voice/kernel_new_features/blob/main/io_uring/%E6%96%87%E7%AB%A0/Efficient%20IO%20with%20io_uring.md)\n\n### 视频(提取码：1024)\n\n- [Speeding Up VM’s I_O Sharing Host's io_uring Queues With Guests by Stefano Garzarella【2020】](https://pan.baidu.com/s/1eQC_OQhfBnkd8t6NbBnseQ)\n- [Asynchronous I_O and coroutines for smooth data streaming - Björn Fahller - NDC TechTown 2021](https://pan.baidu.com/s/1l5ZEOIwRKwWbnhZPnsj4hQ)\n- [Guilherme Bernal - Reaching 200k req_s on a single core with io_uring - Crystal 1.0 Conference](https://pan.baidu.com/s/1EzFLmdpq9hEGhTsxhSF5NA)\n- [Improved Storage Performance Using the New Linux Kernel I O Interface (SDC 2019)](https://pan.baidu.com/s/19vzNrSVAbjXP_XC5eNxj8g)\n- [io_uring- BPF controlled I_O - Pavel Begunkov](https://pan.baidu.com/s/1g5KLbY9nQ2FIQkN7a3MGDw)\n- [io_uring in QEMU- high-performance disk I_O for Linux](https://pan.baidu.com/s/1VFOdf6H6rRp3o2EHPmjLXA)\n- [Kernel Recipes 2019 - Faster IO through io_uring](https://pan.baidu.com/s/1z7sFE2oFDcS6DAbod4UyOQ)\n- [SDC2021- Samba Multi-Channel_io_uring Status Update](https://pan.baidu.com/s/1-YlabCqs03LS7nJxaOqPKQ)\n- [Speeding Up VM’s I_O Sharing Host's io_uring Queues With Guests - Stefano Garzarella, Red Hat](https://pan.baidu.com/s/1QW3zvykzFwYKsMZUZK7orA)\n- [USENIX ATC '19 - Asynchronous I_O Stack_ A Low-latency Kernel I_O Stack for Ultra-Low Latency SSDs](https://pan.baidu.com/s/1sWdfkSU9yjoY53A4wvkcfQ)\n- [来自阿里云的 Linux 内核 io_uring 介绍与实践](https://pan.baidu.com/s/1FykA5evNh3O3JK4Cu9fs0Q)\n\n## 🔥 [cgroup](https://zh.wikipedia.org/wiki/Cgroups)\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/150078568-4f0de590-793f-41b9-9038-cc8b44894cfb.png\"/\u003e\n  \n#### —— 限制、控制与分离一个进程组的资源（如CPU、内存、磁盘输入输出等）。\n\n\u003c/div\u003e\n\n### 文档\n- 官方文档:\n  - [Control Groups definition, implementation details, examples and API](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/cgroups.txt)\n  - [CPU Accounting Controller; account CPU usage for groups of tasks](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/cpuacct.txt)\n  - [documents the cpusets feature; assign CPUs and Mem to a set of tasks](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/cpusets.txt)\n  - [Device Whitelist Controller; description, interface and security](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/devices.txt)\n  - [checkpointing; rationale to not use signals, interface](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/freezer-subsystem.txt)\n  - [Memory Resource Controller; implementation details](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/memcg_test.txt)\n  - [Memory Resource Controller; design, accounting, interface, testing](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/memory.txt)\n  - [Resource Counter API](https://web.archive.org/web/20120618145303/http://www.kernel.org/doc/Documentation/cgroups/resource_counter.txt)\n\n- 其他文档：\n  - [cgroups介绍](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/cgroups%E4%BB%8B%E7%BB%8D.pdf)\n  - [CgroupMemcgMaster](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/CgroupMemcgMaster.pdf)\n  - [Resource Management](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/Resource%20Management.pdf)\n  - [Challenges with the memory resource controller and its performance](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/%20Challenges%20with%20the%20memory%20resource%20controller%20and%20its%20performance.pdf)\n  - [Ressource Management in Linux with Control Groups](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/Ressource%20Management%20in%20Linux%20with%20Control%20Groups.pdf)\n  - [System Programming for Linux Containers Control Groups (cgroups)](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/System%20Programming%20for%20Linux%20Containers%20Control%20Groups%20(cgroups).pdf)\n  - [Managing Resources with cgroups](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/Managing%20Resources%20with%20cgroups.pdf)\n  - [5 years of cgroup v2](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/5%20years%20of%20cgroup%20v2.pdf)\n  - [Linux’s new unified control group system](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/%20Linux%E2%80%99s%20new%20unified%20control%20group%20system.pdf)\n  - [cgroups_intro](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/cgroups_intro.pdf)\n  - [red_hat_enterprise_linux-6-resource_management_guide-en-us](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/red_hat_enterprise_linux-6-resource_management_guide-en-us.pdf)\n  - [An introduction to Control Groups (cgroups)](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/An%20introduction%20to%20Control%20Groups%20(cgroups).pdf)\n  - [Using Linux Control Groups and Systemd to Manage CPU Time and Memory](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/%20Using%20Linux%20Control%20Groups%20and%20Systemd%20to%20Manage%20CPU%20Time%20and%20Memory.pdf)\n  - [An introduction to cgroups and cgroupspy](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E6%A1%A3/An%20introduction%20to%20cgroups%20and%20cgroupspy.pdf)\n\n\n### 开源项目 \n- [containerd/cgroups](https://github.com/containerd/cgroups): 用于创建、管理、检查和销毁cgroup。cgroup上设置的资源格式使用这里找到的OCI运行时规范。\n- [mhausenblas/cinf](https://github.com/mhausenblas/cinf): 一个查看命名空间和cgroups的命令行工具\n- [flouthoc/vas-quod](https://github.com/flouthoc/vas-quod): 用Rust编写的一个极小的容器运行时\n- [poelzi/ulatencyd](https://github.com/poelzi/ulatencyd): 使用cgroups最小化linux系统延迟的守护进程\n- [haosdent/jcgroup](https://github.com/haosdent/jcgroup): jcgroup是JVM上的cgroup包装器。您可以使用这个库来限制线程的CPU共享、磁盘I/O速度、网络带宽等。\n- [kinvolk/traceloop](https://github.com/kinvolk/traceloop): 使用BPF和可重写的环形缓冲区跟踪cgroup中的系统调用\n- [tianon/cgroupfs-mount](https://github.com/tianon/cgroupfs-mount): 挂载cgroupfs (v1)层次结构的简单(过时)脚本，特别是用于Debian打包的结构化脚本\n- [francisbouvier/cgroups](https://github.com/francisbouvier/cgroups): 一个库来管理cgroups Linux内核特性\n- [bpowers/mstat](https://github.com/bpowers/mstat): 这个工具运行在Linux上，利用cgroups内核API(也被Docker等容器基础设施使用)来记录一组进程随时间的内存使用情况。\n\n\n\n\n### 文章\n\n- [Linux cgroups 概述](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/linux%20cgroups%20%E6%A6%82%E8%BF%B0.md)\n- [【译】Control Group v2（cgroupv2 权威指南）（KernelDoc, 2021）](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%5B%E8%AF%91%5D%20Control%20Group%20v2%EF%BC%88cgroupv2%20%E6%9D%83%E5%A8%81%E6%8C%87%E5%8D%97%EF%BC%89%EF%BC%88KernelDoc%2C%202021%EF%BC%89.md)\n- [How I Used CGroups to Manage System Resources](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/How%20I%20Used%20CGroups%20to%20Manage%20System%20Resources.md)\n- [Cgroups控制cpu，内存，io示例](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Cgroups%E6%8E%A7%E5%88%B6cpu%EF%BC%8C%E5%86%85%E5%AD%98%EF%BC%8Cio%E7%A4%BA%E4%BE%8B.md)\n- [Linux Control Groups V1 和 V2 原理和区别](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Linux%20Control%20Groups%20V1%20%E5%92%8C%20V2%20%E5%8E%9F%E7%90%86%E5%92%8C%E5%8C%BA%E5%88%AB.md)\n- [Linux资源管理之cgroups简介](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Linux%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E4%B9%8Bcgroups%E7%AE%80%E4%BB%8B.md)\n- [彻底搞懂容器技术的基石： cgroup](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E5%BD%BB%E5%BA%95%E6%90%9E%E6%87%82%E5%AE%B9%E5%99%A8%E6%8A%80%E6%9C%AF%E7%9A%84%E5%9F%BA%E7%9F%B3%EF%BC%9A%20cgroup.md)\n- [深入理解 Linux Cgroup 系列（一）：基本概念](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%20Linux%20Cgroup%20%E7%B3%BB%E5%88%97%EF%BC%88%E4%B8%80%EF%BC%89%EF%BC%9A%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5.md)\n- [深入理解 Linux Cgroup 系列（二）：玩转 CPU](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%20Linux%20Cgroup%20%E7%B3%BB%E5%88%97%EF%BC%88%E4%BA%8C%EF%BC%89%EF%BC%9A%E7%8E%A9%E8%BD%AC%20CPU.md)\n- [深入理解 Linux Cgroup 系列（三）：内存](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%20Linux%20Cgroup%20%E7%B3%BB%E5%88%97%EF%BC%88%E4%B8%89%EF%BC%89%EF%BC%9A%E5%86%85%E5%AD%98.md)\n- [Cgroup - 从CPU资源隔离说起](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Cgroup%20-%20%E4%BB%8ECPU%E8%B5%84%E6%BA%90%E9%9A%94%E7%A6%BB%E8%AF%B4%E8%B5%B7.md)\n- [Cgroup - Linux内存资源管理](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Cgroup%20-%20Linux%E5%86%85%E5%AD%98%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86.md)\n- [Cgroup - Linux的IO资源隔离](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Cgroup%20-%20Linux%E7%9A%84IO%E8%B5%84%E6%BA%90%E9%9A%94%E7%A6%BB.md)\n- [Cgroup - Linux的网络资源隔离](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/Cgroup%20-%20Linux%E7%9A%84%E7%BD%91%E7%BB%9C%E8%B5%84%E6%BA%90%E9%9A%94%E7%A6%BB.md)\n- [用 cgroups 管理 cpu 资源](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E7%94%A8%20cgroups%20%E7%AE%A1%E7%90%86%20cpu%20%E8%B5%84%E6%BA%90.md)\n- [用 cgruops 管理进程内存占用](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/%E7%94%A8%20cgruops%20%E7%AE%A1%E7%90%86%E8%BF%9B%E7%A8%8B%E5%86%85%E5%AD%98%E5%8D%A0%E7%94%A8.md)\n- [用 cgroups 管理进程磁盘 io](https://github.com/0voice/kernel_new_features/blob/main/cgroups/%E6%96%87%E7%AB%A0/cgroups%20%E7%AE%A1%E7%90%86%E8%BF%9B%E7%A8%8B%E7%A3%81%E7%9B%98%20io.md)\n\n\n### 视频\n\n- [Containers_ cgroups, Linux kernel namespaces, ufs, Docker, and intro to Kubernetes pods](https://pan.baidu.com/s/1dfmOxOESpgT9rj4VH1BmRA)---提取码: k4hn\n- [Understanding and Working with the Cgroups Interface - Michael Anderson, The PTR Group, LLC](https://pan.baidu.com/s/1wD5MRvHheJv1P8i1iQmosQ)---提取码: 54vs\n- [Linux Container Primitives- cgroups, namespaces, and more!](https://pan.baidu.com/s/1LZ9Ff1EuTArxcv6e0c8-2A)---提取码: cjwd\n- [Cgroups, namespaces, and beyond](https://pan.baidu.com/s/1IjOURq5X6TEwZn6G5LUhog)---提取码: at6x \n- [Kubernetes On Cgroup v2 - Giuseppe Scrivano, Red Hat](https://pan.baidu.com/s/1apHDcsiCpiZITd_TwfezCg)---提取码: 552y\n- [Cgroup Slab Memory Controller and Time Namespace - DevConf.CZ 2021](https://pan.baidu.com/s/1qhVtHJtQjM-7mJVQVDMPwg)---提取码: gayh\n- [Modern Linux Servers with cgroups - Brandon Philips, CoreOS](https://pan.baidu.com/s/1okbzLkfA7d0uKJRyj3iyDg)---提取码: afm1\n- [LISA21 - 5 Years of Cgroup v2- The Future of Linux Resource Control](https://pan.baidu.com/s/1AGo7vUC0F0uKO5gCd4wVxg)---提取码: ygrv\n- [Limit CPU usage on Ubuntu with Systemd cgroups](https://pan.baidu.com/s/17gB4Lv4LyznfMwTxd9Ae_Q)---提取码: ktva\n- [What's new in control groups (cgroups) version 2](https://pan.baidu.com/s/1r3V4Htltuy58OUmXGC5aXQ)---提取码: w2tz\n\n## 🔥 [ebpf](https://ebpf.io/)\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://ebpf.io/static/logo-big-9cf8920e80cdc57e6ea60825ebe287ca.png\"/\u003e\n  \n#### —— Linux 内核中顶级子模块\n\u003c/div\u003e\n\n### 文档\n- 官方文档: \n  - Linux 内核：https://www.kernel.org/doc/Documentation/networking/filter.txt and https://www.kernel.org/doc/html/latest/bpf/#\n  - 开发QA: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/bpf/bpf_devel_QA.rst\n  - eBPF-Helpers：https://github.com/iovisor/bpf-docs/blob/master/bpf_helpers.rst/\n- 其他文档：\n\n  - [iovisor/bpf-docs](https://github.com/iovisor/bpf-docs): 列出了 eBPF opcode，项目是 iovisor 总结的系列文档、pre。\n  - [Advanced_BPF_Kernel_Features_for_the_Container_Age_FOSDEM](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Advanced_BPF_Kernel_Features_for_the_Container_Age_FOSDEM.pdf)\n  - [BPF to eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/BPF%20to%20eBPF.pdf)\n  - [Calico-eBPF-Dataplane-CNCF-Webinar-Slides](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Calico-eBPF-Dataplane-CNCF-Webinar-Slides.pdf)\n  - [Combining System Visibility and Security Using eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Combining%20System%20Visibility%20and%20Security%20Using%20eBPF.pdf)\n  - [DPDK+eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/DPDK%2BeBPF.pdf)\n  - [Experience and Lessons Learned](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Experience%20and%20Lessons%20Learned.pdf)\n  - [Fast Packet Processing using eBPF and XDP](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Fast%20Packet%20Processing%20using%20eBPF%20and%20XDP.pdf)\n  - [Kernel Tracing With eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Kernel%20Tracing%20With%20eBPF.pdf)\n  - [Kernel analysis using eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Kernel%20analysis%20using%20eBPF.pdf)\n  - [Making the Linux TCP stack more extensible with eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Making%20the%20Linux%20TCP%20stack%20more%20extensible%20with%20eBPF.pdf)\n  - [Performance Analysis Superpowers with Linux eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Performance%20Analysis%20Superpowers%20with%20Linux%20eBPF.pdf)\n  - [Performance Implications of Packet Filtering with Linux eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/Performance%20Implications%20of%20Packet%20Filtering%20with%20Linux%20eBPF.pdf)\n  - [The Next Linux Superpower eBPF Primer](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/The%20Next%20Linux%20Superpower%20eBPF%20Primer.pdf)\n  - [eBPF - From a Programmer’s Perspective](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/eBPF%20-%20From%20a%20Programmer%E2%80%99s%20Perspective.pdf)\n  - [eBPF In-kernel Virtual Machine \u0026 Cloud Computin](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/eBPF%20In-kernel%20Virtual%20Machine%20%26%20Cloud%20Computin.pdf)\n  - [eBPF for perfomance analysis and networking](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/eBPF%20for%20perfomance%20analysis%20and%20networking.pdf)\n  - [eBPF in CPU Scheduler](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/eBPF%20in%20CPU%20Scheduler.pdf)\n  - [eBPF-based Content and Computation-aware Communication for Real-time Edge Computing](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E6%A1%A3/eBPF-based%20Content%20and%20Computation-aware%20Communication%20for%20Real-time%20Edge%20Computing.pdf)\n\n### 开源项目 \n\n- [cilium/cilium](https://github.com/cilium/cilium): 用于提供、保护和观察容器工作负载之间的网络连接——云原生，并由革命性的内核技术eBPF提供支持,https://cilium.io/\n- [BPF Compiler Collection (BCC)](https://github.com/iovisor/bcc): BCC -基于bpf的Linux IO分析、联网、监控等工具\n- [bpftrace](https://github.com/iovisor/bpftrace): Linux eBPF的高级跟踪语言\n- [Falco](https://github.com/falcosecurity/falco): 一种行为活动监视器，旨在检测应用程序中的异常活动。Falco在ebp的帮助下在Linux内核层对系统进行审计。它通过其他输入流(如容器运行时度量和Kubernetes度量)丰富了收集到的数据，并允许持续监视和检测容器、应用程序、主机和网络活动。\n- [Katran](https://github.com/facebookincubator/katran): 高性能的四层负载均衡器\n- [LLVM Compiler](https://github.com/llvm/llvm-project/): 一个模块化和可重用的编译器和工具链技术的集合。\n- [microsoft/ebpf-for-windows](https://github.com/microsoft/ebpf-for-windows): 运行在Windows上的eBPF实现\n- [aquasecurity/libbpfgo](https://github.com/aquasecurity/libbpfgo): 一个用于Linux ebbpf项目的Go库。\n- [aquasecurity/tracee](https://github.com/aquasecurity/tracee): Linux的运行时安全和取证工具。\n- [libbpf/libbpf](https://github.com/libbpf/libbpf): libbpf是一个基于C/ c++的库，作为上游Linux内核的一部分进行维护。它包含一个eBPF加载器，它接管处理LLVM生成的eBPF ELF文件，以便将其加载到内核中。\n- [libbpf/libbpf-rs](https://github.com/libbpf/libbpf-rs): Rust生态系统的最小和固执的epf工具\n- [foniod/redbpf](https://github.com/foniod/redbpf): Rust库用于构建和运行BPF/eBPF模块\n- [aya-rs/aya](https://github.com/aya-rs/aya): 一个用于Rust编程语言的eBPF库，其构建的重点是开发人员的体验和可操作性。\n- [cilium/hubble](https://github.com/cilium/hubble): 使用eBPF的Kubernetes网络、服务和安全可观测性\n- [kubearmor/KubeArmor](https://github.com/kubearmor/KubeArmor): 一个云本地运行时安全强制系统，它在系统级别限制容器和节点的行为(如进程执行、文件访问和网络操作)。\n- [iovisor/kubectl-trace](https://github.com/iovisor/kubectl-trace): 使用kubectl在kubernetes集群上调度bpftrace程序\n- [iovisor/ply](https://github.com/iovisor/ply): 一款基于eBPF的Linux动态跟踪软件。\n\n\n### 文章\n\n- [什么是 eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/%E4%BB%80%E4%B9%88%E6%98%AF%20eBPF.md)\n- [eBPF详解](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%E8%AF%A6%E8%A7%A3.md)\n- [BPF 和 eBPF 初探](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/BPF%20%E5%92%8C%20eBPF%20%E5%88%9D%E6%8E%A2.md)\n- [Linux 内核监测技术 eBPF](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/Linux%20%E5%86%85%E6%A0%B8%E7%9B%91%E6%B5%8B%E6%8A%80%E6%9C%AF%20eBPF.md)\n- [eBPF 如何简化服务网格](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E5%A6%82%E4%BD%95%E7%AE%80%E5%8C%96%E6%9C%8D%E5%8A%A1%E7%BD%91%E6%A0%BC.md)\n- [eBPF 用户空间虚拟机实现相关](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E7%94%A8%E6%88%B7%E7%A9%BA%E9%97%B4%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%AE%9E%E7%8E%B0%E7%9B%B8%E5%85%B3.md)\n- [基于 eBPF 实现容器运行时安全](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/%E5%9F%BA%E4%BA%8E%20eBPF%20%E5%AE%9E%E7%8E%B0%E5%AE%B9%E5%99%A8%E8%BF%90%E8%A1%8C%E6%97%B6%E5%AE%89%E5%85%A8.md)\n- [深入理解 Cilium 的 eBPF 收发包路径](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/%E6%B7%B1%E5%85%A5%E7%90%86%E8%A7%A3%20Cilium%20%E7%9A%84%20eBPF%20%E6%94%B6%E5%8F%91%E5%8C%85%E8%B7%AF%E5%BE%84.md)\n- [eBPF 概述，第 1 部分：介绍](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E6%A6%82%E8%BF%B0%EF%BC%8C%E7%AC%AC%201%20%E9%83%A8%E5%88%86%EF%BC%9A%E4%BB%8B%E7%BB%8D.md)\n- [eBPF 概述，第 2 部分：机器和字节码](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E6%A6%82%E8%BF%B0%EF%BC%8C%E7%AC%AC%202%20%E9%83%A8%E5%88%86%EF%BC%9A%E6%9C%BA%E5%99%A8%E5%92%8C%E5%AD%97%E8%8A%82%E7%A0%81.md)\n- [eBPF 概述，第 3 部分：软件开发生态](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E6%A6%82%E8%BF%B0%EF%BC%8C%E7%AC%AC%203%20%E9%83%A8%E5%88%86%EF%BC%9A%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E7%94%9F%E6%80%81.md)\n- [eBPF 概述，第 4 部分：在嵌入式系统运行](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E6%A6%82%E8%BF%B0%EF%BC%8C%E7%AC%AC%204%20%E9%83%A8%E5%88%86%EF%BC%9A%E5%9C%A8%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%B3%BB%E7%BB%9F%E8%BF%90%E8%A1%8C.md)\n- [eBPF 概述，第 5 部分：跟踪用户进程](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/eBPF%20%E6%A6%82%E8%BF%B0%EF%BC%8C%E7%AC%AC%205%20%E9%83%A8%E5%88%86%EF%BC%9A%E8%B7%9F%E8%B8%AA%E7%94%A8%E6%88%B7%E8%BF%9B%E7%A8%8B.md)\n- [【译】大规模微服务利器：eBPF + KubernetesKubeCon, 2020](https://github.com/0voice/kernel_new_features/blob/main/ebpf/%E6%96%87%E7%AB%A0/%E3%80%90%E8%AF%91%5D%E3%80%91%E5%A4%A7%E8%A7%84%E6%A8%A1%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%88%A9%E5%99%A8%EF%BC%9AeBPF%20%2B%20Kubernetes%EF%BC%88KubeCon%2C%202020%EF%BC%89.md)\n\n### 视频\n\n- [Netflix talks about Extended BPF - A new software type](https://pan.baidu.com/s/1VD-dsBheyJmDUhiIUJiQOw)---提取码: 83sv\n- [containers_ebpf_kernel](https://pan.baidu.com/s/1NFzeWCJHmsXnzmDTHnt9vg)---提取码: hxkt\n\n## 🔥 [llvm](https://llvm.org/)\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/150629940-85fa8f28-dfe9-4024-a97f-c8489471f7e9.png\"/\u003e\n  \n#### —— 模块化、可重用的编译器以及工具链技术的集合\n\u003c/div\u003e\n\n### 文档\n- 官方文档:\n  - [LLVM: A Compilation Framework for Lifelong Program Analysis \u0026 Transformation](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E6%A1%A3/%20A%20Compilation%20Framework%20for%20Lifelong%20Program%20Analysis%20%26%20Transformation.pdf)\n  - [Introduction to the LLVM Compiler System](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E6%A1%A3/Introduction%20to%20the%20LLVM%20Compiler%20System.pdf)\n  - [LLVM语言参考手册](https://web.archive.org/web/20120611064155/http://llvm.org/docs/LangRef.html)\n  - [LLVM语言参考手册-中文版](https://llvm.liuxfe.com/docs/langref/)\n  - [入门LLVM核心库](https://getting-started-with-llvm-core-libraries-zh-cn.readthedocs.io/zh_CN/latest/)\n- 用户指南：\n  - [使用CMake构建LLVM](https://llvm.org/docs/CMake.html): 使用CMake构建系统的主要入门指南的附录。\n  - [在ARM平台上构建LLVM指南](https://llvm.org/docs/HowToBuildOnARM.html): 关于在ARM上构建和测试LLVM/Clang的注意事项。\n  - [如何使用配置文件引导优化构建Clang和LLVM](https://llvm.org/docs/HowToBuildWithPGO.html): 使用PGO构建LLVM/Clang的注意事项。\n  - [如何为ARM平台交叉编译compiler-rt Builtins](https://llvm.org/docs/HowToCrossCompileBuiltinsOnArm.html): 关于交叉构建和测试ARM的编译器-rt内置函数的注意事项。\n  - [如何使用Clang/LLVM交叉编译Clang/LLVM](https://llvm.org/docs/HowToCrossCompileLLVM.html)：关于交叉构建和测试LLVM / Clang的注意事项。\n  - [使用Microsoft Visual Studio开始使用LLVM系统](https://llvm.org/docs/GettingStartedVS.html)：Windows上使用Visual Studio的主要入门指南的附录。\n  - [LLVM的分析和转换Passes](https://llvm.org/docs/Passes.html):LLVM中实现的优化和分析列表\n  - [当前版本的发布说明](https://llvm.org/docs/ReleaseNotes.html):这描述了新功能，已知错误和其他限制。\n  - [如何提交LLVM错误报告](https://llvm.org/docs/HowToSubmitABug.html): 有关正确提交有关您在LLVM系统中遇到的任何错误的信息的说明。\n  - [sphinx模板快速入门](https://llvm.org/docs/SphinxQuickstartTemplate.html)：使用LLVM测试基础结构的参考手册。\n  - [LLVM测试套件基础结构指南](https://llvm.org/docs/TestingGuide.html)：使用LLVM测试基础结构的参考手册。\n  - [LLVM测试套件使用指南](https://llvm.org/docs/TestSuiteGuide.html)：描述如何编译和运行测试套件基准测试。\n  - [如何构建C，C ++，ObjC和ObjC ++前端](https://clang.llvm.org/get_started.html)：从源代码构建clang前端的说明。\n  - [LLVM词典](https://llvm.org/docs/Lexicon.html)：LLVM中使用的首字母缩略词，术语和概念的定义。\n  - [如何将构建配置添加到LLVM Buildbot基础结构](https://llvm.org/docs/HowToAddABuilder.html):有关将新构建器添加到LLVM buildbot master的说明。\n  - [YAML I/O](https://llvm.org/docs/YamlIO.html)：使用LLVM的YAML I/O库的参考指南。\n  - [前端作者的性能提示](https://llvm.org/docs/Frontend/PerformanceTips.html)：前端作者关于如何生成IR的技巧的集合，LLVM能够有效地优化。\n  - [Dockerfiles用于构建LLVM的指南](https://llvm.org/docs/Docker.html)：使用随LLVM提供的Dockerfiles的参考。\n- 编程文档：\n  - [LLVM扩展](https://llvm.org/docs/Extensions.html)：LLVM特定的工具和格式扩展LLVM寻求兼容性。\n  - [CommandLine 2.0库手册](https://llvm.org/docs/CommandLine.html)：提供有关使用命令行解析库的信息。\n  - [LLVM编码标准](https://llvm.org/docs/CodingStandards.html)：详细介绍了LLVM编码标准，并提供了有关编写高效C ++代码的有用信息。\n  - [如何为类层次结构设置LLVM样式的RTTI](https://llvm.org/docs/HowToSetUpLLVMStyleRTTI.html)：如何让`isa\u003c\u003e`，`dyn_cast\u003c\u003e`等可供您的类层次的客户。\n  - [扩展LLVM：添加指令，内在函数，类型等](https://llvm.org/docs/ExtendingLLVM.html)：在这里查看如何向LLVM添加指令和内在函数。\n  - [libFuzzer - 用于覆盖引导的模糊测试的库](https://llvm.org/docs/LibFuzzer.html)：用于编写进程中引导模糊器的库\n  - [模糊LLVM库和工具](https://llvm.org/docs/FuzzingLLVM.html)：有关编写和使用Fuzzers查找LLVM中的错误的信息.\n  - [Scudo硬化分配器](https://llvm.org/docs/ScudoHardenedAllocator.html)：一个实现安全加固的malloc（）的库。\n- 子系统文档\n  - [编写LLVM Passes](https://llvm.org/docs/WritingAnLLVMPass.html)：有关如何编写LLVM转换和分析的信息\n  - [编写LLVM后端](https://llvm.org/docs/WritingAnLLVMBackend.html)：有关如何为机器目标编写LLVM后端的信息\n  - [LLVM与目标无关的代码生成器](https://llvm.org/docs/CodeGenerator.html)：LLVM代码生成器的设计和实现。如果您正在将LLVM重新定位到新架构，设计新的codegen传递或增强现有组件，则非常有用。\n  - [机器IR（MIR）格式参考手册](https://llvm.org/docs/MIRLangRef.html)：MIR序列化格式的参考手册，用于测试LLVM的代码生成过程。\n  - [TableGen](https://llvm.org/docs/TableGen/index.html)：描述了TableGen工具，LLVM代码生成器大量使用它。\n  - [LLVM别名分析基础结构](https://llvm.org/docs/AliasAnalysis.html)：有关如何编写新别名分析实现或如何使用现有分析的信息。\n  - [MemorySSA](https://llvm.org/docs/MemorySSA.html)：有关LLVM中的MemorySSA实用程序的信息，以及如何使用它。\n  - [使用LLVM进行垃圾收集](https://llvm.org/docs/GarbageCollection.html)：接口源语言编译器应该用于编译GC程序。\n  - [使用LLVM进行源级别调试](https://llvm.org/docs/SourceLevelDebugging.html)：本文档描述了LLVM源代码级调试器背后的设计和理念。\n  - [LLVM中的自动矢量化](https://llvm.org/docs/Vectorizers.html)：本文档描述了LLVM中矢量化的当前状态\n  - [LLVM中的异常处理](https://llvm.org/docs/ExceptionHandling.html)：本文档描述了LLVM中异常处理的设计和实现\n  - [如何添加一个受约束的浮点内在函数](https://llvm.org/docs/AddingConstrainedIntrinsics.html)：在LLVM中添加新的约束数学内在时，提供必要的步骤。\n  - [LLVM bugpoint工具：设计和使用](https://llvm.org/docs/Bugpoint.html)：自动错误查找器和测试用例减少器描述和使用信息\n  - [LLVM Bitcode文件格式](https://llvm.org/docs/BitCodeFormat.html)：这描述了用于LLVM“bc”文件的文件格式和编码。\n  - [支持库](https://llvm.org/docs/SupportLibrary.html)：本文档描述了LLVM支持库（lib/Support）以及如何使LLVM源代码可移植\n  - [LLVM链接时间优化：设计和实现](https://llvm.org/docs/LinkTimeOptimization.html)：本文档描述了LLVM模块间优化器与链接器及其设计之间的接口\n  - [LLVM黄金插件](https://llvm.org/docs/GoldPlugin.html)：如何在Linux上使用链接时优化来构建程序。\n  - [使用GDB调试JIT-ed代码](https://llvm.org/docs/DebuggingJITedCode.html):如何使用GDB调试JITed代码。\n  - [MCJIT设计与实施](https://llvm.org/docs/MCJITDesignAndImplementation.html)：描述了MCJIT执行引擎的内部工作原理\n  - [LLVM分支权重元数据](https://llvm.org/docs/BranchWeightMetadata.html)：提供有关分支预测信息的信息。\n  - [LLVM块频率术语](https://llvm.org/docs/BlockFrequencyTerminology.html):提供有关BlockFrequencyInfo 分析过程中使用的术语的信息\n  - [LLVM中的分段堆栈](https://llvm.org/docs/SegmentedStacks.html):本文档描述了分段堆栈以及它们在LLVM中的使用方式\n  - [LLVM的可选丰富的反汇编输出](https://llvm.org/docs/MarkedUpDisassembly.html):本文档介绍了可选的丰富反汇编输出语法\n  - [如何使用属性](https://llvm.org/docs/HowToUseAttributes.html)：回答有关新属性基础结构的一些问题。\n  - [NVPTX后端用户指南](https://llvm.org/docs/NVPTXUsage.html)：本文档描述了使用NVPTX后端编译GPU内核。\n  - [AMDGPU后端用户指南](https://llvm.org/docs/AMDGPUUsage.html):本文档描述了使用AMDGPU后端编译GPU内核。\n  - [LLVM中的堆栈映射和补丁点](https://llvm.org/docs/StackMaps.html):LLVM支持将指令地址映射到值的位置并允许修补代码。\n  - [在big endian模式下使用ARM NEON指令](https://llvm.org/docs/BigEndianNEON.html)：LLVM支持在大端ARM目标上生成NEON指令有点不直观。本文档解释了实施和理由。\n  - [LLVM代码覆盖映射格式](https://llvm.org/docs/CoverageMappingFormat.html):LLVM代码覆盖映射格式\n  - [LLVM中的垃圾收集安全点](https://llvm.org/docs/Statepoints.html)：这描述了一组垃圾收集支持的实验扩展。\n  - [MergeFunctions Pass，它是如何工作的](https://llvm.org/docs/MergeFunctions.html)：描述合并优化的函数。\n  - [InAlloca属性的设计和使用](https://llvm.org/docs/InAlloca.html)：inalloca参数属性的描述。\n  - [FaultMaps和隐式检查](https://llvm.org/docs/FaultMaps.html)：LLVM支持折叠控制流入错误机器指令。\n  - [用clang编译CUDA](https://llvm.org/docs/CompileCudaWithLLVM.html)：LLVM对CUDA的支持。\n  - [LLVM中的协同程序](https://llvm.org/docs/Coroutines.html):LLVM中的协同程序.\n  - [全局指令选择](https://llvm.org/docs/GlobalISel.html)：这描述了原型指令选择替换GlobalISel\n  - [XRay仪表](https://llvm.org/docs/XRay.html)：有关如何在LLVM中使用XRay的高级文档。\n  - [使用XRay进行调试](https://llvm.org/docs/XRayExample.html)：如何使用XRay调试应用程序的示例。\n  - [Microsoft PDB文件格式](https://llvm.org/docs/PDB/index.html)：Microsoft PDB（程序数据库）文件格式的详细说明。\n  - [控制流程验证工具设计文档](https://llvm.org/docs/CFIVerify.html)：控制流完整性验证工具的说明\n  - [投机负荷强化](https://llvm.org/docs/SpeculativeLoadHardening.html)：Spectre v1的推测负载强化缓解的描述\n  - [堆栈安全分析](https://llvm.org/docs/StackSafetyAnalysis.html)：本文档描述了局部变量的堆栈安全性分析的设计。\n\n\n\n### LLVM命令指南\n\n#### 基本命令\n\n| 命令                                                         | 说明                              |\n| :----------------------------------------------------------- | :-------------------------------- |\n| [llvm-as](https://llvm.liuxfe.com/docs/man/llvm-as.html)     | LLVM汇编器                        |\n| [llvm-dis](https://llvm.liuxfe.com/docs/man/llvm-dis.html)   | LLVM反汇编器                      |\n| [opt](https://llvm.liuxfe.com/docs/man/opt.html)             | LLVM优化器                        |\n| [llc](https://llvm.liuxfe.com/docs/man/llc.html)             | LLVM静态编译器                    |\n| [lli](https://llvm.liuxfe.com/docs/man/lli.html)             | LLVM字节码解释器                  |\n| [llvm-link](https://llvm.liuxfe.com/docs/man/llvm-link.html) | LLVM字节码连接器                  |\n| [llvm-lib](https://llvm.liuxfe.com/docs/man/llvm-lib.html)   | LLVM的与lib.exe兼用的库工具       |\n| [llvm-lipo](https://llvm.liuxfe.com/docs/man/llvm-lipo.html) | 用于处理通用二进制文件的LLVM工具  |\n| [llvm-config](https://llvm.liuxfe.com/docs/man/llvm-config.html) | 打印LLVM编译选项                  |\n| [llvm-cxxmap](https://llvm.liuxfe.com/docs/man/llvm-cxxmap.html) | Mangled name重映射工具            |\n| [llvm-diff](https://llvm.liuxfe.com/docs/man/llvm-diff.html) | LLVM 结构”diff”                   |\n| [llvm-cov](https://llvm.liuxfe.com/docs/man/llvm-cov.html)   | 发出覆盖信息                      |\n| [llvm-profdata](https://llvm.liuxfe.com/docs/man/llvm-profdata.html) | 配置数据工具                      |\n| [llvm-stress](https://llvm.liuxfe.com/docs/man/llvm-stress.html) | 生成随机的.ll文件                 |\n| [llvm-symbolizer](https://llvm.liuxfe.com/docs/man/llvm-symbolizer.html) | 将地址转换为源代码中的位置        |\n| [llvm-dwarfdump](https://llvm.liuxfe.com/docs/man/llvm-dwarfdump.html) | 转储并检验DWARF调试信息           |\n| [dsymutil](https://llvm.liuxfe.com/docs/man/dsymutil.html)   | 操作存档文件中的DWARF调试符号文件 |\n| [llvm-mca](https://llvm.liuxfe.com/docs/man/llvm-mca.html)   | LLVM机器码分析器                  |\n| [llvm-readobj](https://llvm.liuxfe.com/docs/man/llvm-readobj.html) | LLVM目标文件分析器                |\n\n#### GNU bintils替代命令\n\n| 命令                                                         | 说明                               |\n| :----------------------------------------------------------- | :--------------------------------- |\n| [llvm-addr2line](https://llvm.liuxfe.com/docs/man/llvm-addr2line.html) | addr2line的替代品                  |\n| [llvm-ar](https://llvm.liuxfe.com/docs/man/llvm-ar.html)     | LLVM归档器                         |\n| [llvm-cxxfilt](https://llvm.liuxfe.com/docs/man/llvm-cxxfilt.html) | LLVM符合名称分析器                 |\n| [llvm-nm](https://llvm.liuxfe.com/docs/man/llvm-nm.html)     | 列出LLVM字节码和目标文件中的符号表 |\n| [llvm-objcopy](https://llvm.liuxfe.com/docs/man/llvm-objcopy.html) | 目标文件复制和编辑工具             |\n| [llvm-objdump](https://llvm.liuxfe.com/docs/man/llvm-objdump.html) | LLVM目标文件转储器                 |\n| [llvm-ranlib](https://llvm.liuxfe.com/docs/man/llvm-ranlib.html) | 库存档索引生成工具                 |\n| [llvm-readelf](https://llvm.liuxfe.com/docs/man/llvm-readelf.html) | GNU风格的LLVM对象读取器            |\n| [llvm-size](https://llvm.liuxfe.com/docs/man/llvm-size.html) | 打印目标文件尺寸信息               |\n| [llvm-strings](https://llvm.liuxfe.com/docs/man/llvm-strings.html) | 打印目标文件中的字符串             |\n| [llvm-strip](https://llvm.liuxfe.com/docs/man/llvm-strip.html) | 目标文件去除调试信息工具           |\n\n#### 调试工具\n\n| 命令                                                         | 说明                 |\n| :----------------------------------------------------------- | :------------------- |\n| [bugpoint](https://llvm.liuxfe.com/docs/man/bugpoint.html)   | 自动测试用例缩减工具 |\n| [llvm-extract](https://llvm.liuxfe.com/docs/man/llvm-extract.html) | 从LLVM模块中提取函数 |\n| [llvm-bcanalyzer](https://llvm.liuxfe.com/docs/man/llvm-bcanalyzer.html) | LLVM字节码分析器     |\n\n#### 开发工具\n\n| 命令                                                         | 说明                        |\n| :----------------------------------------------------------- | :-------------------------- |\n| [FileCheck](https://llvm.liuxfe.com/docs/man/filechcke.html) | 灵活的模式匹配文件验证程序  |\n| [tblgen](https://llvm.liuxfe.com/docs/man/tblgen.html)       | 目标描述到C++代码生成器     |\n| [lit](https://llvm.liuxfe.com/docs/man/lit.html)             | LLVM集成测试仪              |\n| [llvm-build](https://llvm.liuxfe.com/docs/man/llvm-build.html) | LLVM项目构建实用程序        |\n| [llvm-exegesis](https://llvm.liuxfe.com/docs/man/llvm-exegesis.html) | LLVM机器指令基准            |\n| [llvm-pdbutil](https://llvm.liuxfe.com/docs/man/llvm-pdbutil.html) | PDB文件取证和诊断           |\n| [llvm-locstats](https://llvm.liuxfe.com/docs/man/llvm-locstats.html) | 计算DWARF调试位置的统计信息 |\n\n\n\n### 开源项目 \n\n- [emscripten-core/emscripten](https://github.com/emscripten-core/emscripten): Emscripten:一个llvm到webassembly的编译器\n- [tinygo-org/tinygo](https://github.com/tinygo-org/tinygo): 微控制器、WebAssembly (WASM/WASI)和命令行工具。基于LLVM。\n- [numba/numba](https://github.com/numba/numba): 使用LLVM支持NumPy动态Python编译器\n- [avast/retdec](https://github.com/avast/retdec): RetDec是一个基于LLVM的可重定向机器码反编译器。\n- [lifting-bits/mcsema](https://github.com/lifting-bits/mcsema): 将x86、amd64、aarch64、sparc32和sparc64程序二进制代码提升到LLVM位码的框架\n- [microsoft/DirectXShaderCompiler](https://github.com/microsoft/DirectXShaderCompiler): 这个repo托管了DirectX Shader编译器的源代码，它是基于LLVM/Clang的。\n- [andreasfertig/cppinsights](https://github.com/andreasfertig/cppinsights): c++洞察力——用编译器的眼光看你的源代码\n- [google/souper](https://github.com/google/souper): LLVM IR的超优化器\n- [HikariObfuscator/Hikari](https://github.com/HikariObfuscator/Hikari): LLVM模糊处理\n- [dotnet/llilc](https://github.com/dotnet/llilc):这个repo包含LLILC，一个基于LLVM的。net Core编译器。它包括一组跨平台的。net代码生成工具，可以将MSIL字节码编译成LLVM支持的平台。\n- [banach-space/llvm-tutor](https://github.com/banach-space/llvm-tutor): 用于教学和学习的树外LLVM通行证的集合\n- [numba/llvmlite](https://github.com/numba/llvmlite): 用于编写JIT编译器的轻量级LLVM python绑定\n- [yrnkrn/zapcc](https://github.com/yrnkrn/zapcc): zapcc是一个基于clang的缓存c++编译器，旨在执行更快的编译\n- [go-llvm/llgo](https://github.com/go-llvm/llgo): 基于llvm的编译器\n- [eliben/llvm-clang-samples](https://github.com/eliben/llvm-clang-samples): unmaintenance:使用LLVM和Clang编译库和工具的例子\n\n### 文章\n\n- [LLVM 入门篇](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/LLVM%20%E5%85%A5%E9%97%A8%E7%AF%87.md)\n- [LLVM-Clang入门](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/LLVM-Clang%E5%85%A5%E9%97%A8.md)\n- [LLVM编译器框架介绍](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/LLVM%E7%BC%96%E8%AF%91%E5%99%A8%E6%A1%86%E6%9E%B6%E4%BB%8B%E7%BB%8D.md)\n- [Llvm编译的基本概念和流程](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/llvm%E7%BC%96%E8%AF%91%E7%9A%84%E5%9F%BA%E6%9C%AC%E6%A6%82%E5%BF%B5%E5%92%8C%E6%B5%81%E7%A8%8B.md)\n- [后端技术的重用：LLVM不仅仅让你高效](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/%E5%90%8E%E7%AB%AF%E6%8A%80%E6%9C%AF%E7%9A%84%E9%87%8D%E7%94%A8%EF%BC%9ALLVM%E4%B8%8D%E4%BB%85%E4%BB%85%E8%AE%A9%E4%BD%A0%E9%AB%98%E6%95%88.md)\n- [编译优化｜LLVM代码生成技术详解及在数据库中的应用](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/%E7%BC%96%E8%AF%91%E4%BC%98%E5%8C%96%EF%BD%9CLLVM%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E6%8A%80%E6%9C%AF%E8%AF%A6%E8%A7%A3%E5%8F%8A%E5%9C%A8%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8.md)\n- [编译器及底层名词解释](https://github.com/0voice/kernel_new_features/blob/main/llvm/%E6%96%87%E7%AB%A0/%E7%BC%96%E8%AF%91%E5%99%A8%E5%8F%8A%E5%BA%95%E5%B1%82%E5%90%8D%E8%AF%8D%E8%A7%A3%E9%87%8A.md)\n\n### 视频\n- [How LLVM \u0026 Clang work](https://pan.baidu.com/s/1yTDS9Bn5CiFGhotKjNfcIw)---提取码: 225f\n- [2021 LLVM Dev Mtg “Otter- Tracing \u0026 Visualizing OpenMP Programs as DAGs Through LLVM's OMPT...”](https://pan.baidu.com/s/1lbO_764_sXgMf5mgwajdcw)---提取码: d2k2\n- [2021 LLVM Dev Mtg “Navigating Exotic SIMD Lands with an LLVM Guide”](https://pan.baidu.com/s/1SAbepiyv0X6W7Qxf6qVxuA)---提取码: 5v6s\n- [2019 LLVM Developers’ Meeting- E. Christopher \u0026 J. Doerfert “Introduction to  LLVM”](https://pan.baidu.com/s/1_g5P0r0Cku30w3m2LiJgWw)---提取码: 8u6e\n- [2019 LLVM Developers’ Meeting- S. Haastregt \u0026 A. Stulova “An overview of Clang ”](https://pan.baidu.com/s/1VOhM2SOeWnRoy24jaWw7dQ)---提取码: r6ct\n- [P. Goldsborough “clang-useful- Building useful tools with LLVM and clang for fun and profit](https://pan.baidu.com/s/1DkpEdZXeBISJMuExVtpZKg)---提取码: xemt\n\u003c!--\n\n## 🔥 kvm\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/150633416-9961e8b7-ff81-488b-8cfe-b69ba739c1ff.png\"/\u003e\n  \n#### —— Linux内核中的虚拟化基础设施\n\u003c/div\u003e\n\n\n### 文档\n- 官方文档:\n- 其他文档：\n\n### 开源项目 \n\n### 文章\n\n### 视频(提取码：1024)\n\n## 🔥 ceph\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/150633285-0e03e44f-8755-4b12-9b62-8f8030d44c94.png\"/\u003e\n  \n#### —— 存储的未来\n\u003c/div\u003e\n\n### 文档\n- 官方文档:\n- 其他文档：\n\n### 开源项目 \n\n### 文章\n\n### 视频(提取码：1024)\n\n## 🔥 fuse\n\n\u003cdiv  align=center\u003e\n  \n\u003cimg width=\"60%\" height=\"60%\" src=\"https://user-images.githubusercontent.com/87457873/150633338-fde17a17-9cfb-4a32-bc51-d76e02b6904e.png\"/\u003e\n  \n#### —— 用户态文件系统\n\u003c/div\u003e\n\n### 文档\n- 官方文档:\n- 其他文档：\n\n### 开源项目 \n\n### 文章\n\n### 视频(提取码：1024)\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003ch3 \u003e零领工作\u003c/h3\u003e \n\n---\n\n##### 实时提供，每周发布北京，上海，广州，深圳，杭州，南京，合肥，武汉，长沙，重庆，成都，西安，厦门的c/c++，golang方向的招聘岗位信息。 包含校招，社招，实习岗位， 面经，八股，简历\n\n\u003cimg src=\"https://img.0voice.com/public/0e59910091576beaebe20f303357edf7.jpg\" alt=\"零领工作\" style=\"width:300px;height:300px;\"\u003e\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n","funding_links":[],"categories":["HarmonyOS","C"],"sub_categories":["Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0voice%2Fkernel_new_features","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0voice%2Fkernel_new_features","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0voice%2Fkernel_new_features/lists"}