- 博客(36)
- 资源 (215)
- 问答 (3)
- 收藏
- 关注
原创 2021年二月下旬文章导读与开源项目仓库 | scatter-gather DMA,SR-IOV,ARP欺骗,中断,Lockdep,virtio,vhost
目录文章目录开源项目仓库[转]浅谈scatter-gather DMASR-IOV:网卡直通技术[黑客入门] 连接公共WIFI有多危险(ARP欺骗)DPDK ACL算法介绍文章目录Linux PCI驱动框架分析(一)https://www.cnblogs.com/LoyenWang/p/14165852.htmlLinux PCI驱动框架分析(二)https://www.cnblogs.com/LoyenWang/p/14209318.htmlLinux PCI.
2021-02-27 17:12:51 924 2
转载 Linux虚拟化KVM-Qemu分析(十)之virtio驱动
目录1. 概述2. 数据结构3. 流程分析3.1 virtio总线创建3.2 virtio驱动调用流程参考《Linux PCI驱动框架分析:(Peripheral Component Interconnect,外部设备互联)》《Linux虚拟化KVM-Qemu分析(一)》《Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化》《Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)》《Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2.
2021-02-27 17:12:07 1851 5
转载 Linux AIO的新归宿:io_uring(介绍,系统调用)
目录背景io_uringio_uring 准备阶段IO 提交IO 收割其它高级特性IORING_REGISTER_FILESIORING_SETUP_IOPOLLIORING_REGISTER_BUFFERS关于名字总结参考在正文开始之前,我们先来看一段对话(演绎版本)Jens Axboe :Linus,我有个好东西,你瞅瞅?Linus:啥玩意儿,不是已经有 aio 了么,为啥又来一套,你咋不去好好修 aio 的问题。aio 还有 balabala
2021-02-27 17:04:38 2202 1
转载 Linux进程调度:完全公平调度器 Completely Fair Scheduler 内幕| linux-2.6
https://www.ibm.com/developerworks/cn/linux/l-completely-fair-scheduler/index.html?目录Linux 调度器简史CFS 概述CFS 内部原理优先级和 CFSCFS 组调度调度类和域其他调度器展望相关阅读Linux 调度器是一个颇有压力但很有趣的课题。一方面它涉及应用 Linux 的使用模型。尽管 Linux 最初开发为桌面操作系统环境,但现在在服务器、微型嵌入式设备、主机和超级计.
2021-02-27 15:59:24 692
原创 单指令多数据SIMD的SSE/AVX指令集和API
https://software.intel.com/sites/landingpage/IntrinsicsGuide/#TechnologiesMMX SSE SSE2 SSE3 SSSE3 SSE4.1 SSE4.2 AVX AVX2 FMA AVX-512 KNC AMX SVML Othervoid _mm_2intersect_epi32 (__m128i a, __m128i b, __mmask8* k1, __mm...
2021-02-27 15:49:11 1719 2
转载 如何理解高并发中的协程?协程的实现和历史
目录普通的函数从普通函数到协程图形化解释函数只是协程的一种特例协程的历史协程是如何实现的普通的函数def func(): print("a") print("b") print("c")这是一个简单的普通函数,当我们调用这个函数时会发生什么? 调用func func开始执行,直到return func执行完成,返回函数A 是不是很简单,函数func执行直到返回,并打印出:abc注意这段代码是用pytho.
2021-02-27 15:39:40 231
转载 vhost(vhost-user)网络I/O半虚拟化详解:一种 virtio 高性能的后端驱动实现
目录什么是 vhost为什么要用 vhostvhost 的数据流程总结什么是 vhost-uservhost-user 的实现几个例子Vhost-user详解1.建立连接设置共享内存设置虚拟队列信息2.数据通路处理3.OVS轮询逻辑总结相关阅读什么是 vhosthttps://yq.aliyun.com/articles/485336vhost 是 virtio 的一种后端实现方案,在 virtio 简介中,我们已经提到 virt.
2021-02-27 15:20:54 7406 2
转载 PCIe规范的扩展:SR-IOV(Single Root I/O virtual)网卡直通技术
目录Single Root I/O虚拟化(SR-IOV)概述SR-IOV架构Hyper-V可扩展交换机简介SR-IOV物理功能(PF)编写SR-IOV PF微型端口驱动程序概述SR-IOV虚拟功能(VF)编写SR-IOV VF微型端口驱动程序概述NIC交换机管理NIC交换机SR-IOV数据路径相关阅读Single Root I/O虚拟化(SR-IOV)概述https://docs.microsoft.com/en-us/windows-hardwar.
2021-02-27 14:59:42 5563
转载 Linux PCI驱动框架分析:(Peripheral Component Interconnect,外部设备互联)
《DPDK 20.05 | rte_pci_bus思维导图 | 第一版》《linux系统下:IO端口,内存,PCI总线 的 读写(I/O)操作》《Linux指令:lspci显示PCI总线设备信息》目录Linux PCI驱动框架分析(一)1. 概述2. PCI Local Bus2.1 PCI总线组成2.2 PCI总线信号定义2.3 PCI事务模型2.4 PCI总线地址空间映射3. PCI Express - PCIe3.1 PCIe体系结构3.2 PCIe
2021-02-27 14:26:21 2709 1
原创 Fig. BPF Performance Tools Book
https://github.com/brendangregg/bpf-perf-tools-book
2021-02-23 12:43:03 239 2
翻译 [中断]/proc/interrupts: Rescheduling Interrupts
https://help.ubuntu.com/community/ReschedulingInterrupts/proc/interruptsIntroductionIf you are using a laptop thenpowertopis a useful tool to help reduce power consumption.powertopexamines system activity such as the reasons for processor wa...
2021-02-23 11:08:17 3431 11
原创 the little Redis book
目录About This BookLicenseAbout The AuthorWith Thanks ToLatest VersionIntroductionGetting StartedOn WindowsOn *nix and MacOSXRunning and Connecting to RedisRedis DriversChapter 1 - The BasicsThe Building BlocksDatabasesCommands,
2021-02-23 11:06:20 671 13
转载 带有LLVM的eBPF组件
目录从C到目标文件深入说明eBPF与LLVM循序渐进从C编译到eBPF程序集组装到ELF目标文件llvm-objdump的人性化输出内联汇编结论此职位作为草稿留了很长时间。它的大部分内容是在2017年12月编写的。我希望它能在今天发布,尽管Cilium指南也涵盖了该功能。eBPF(扩展的Berkeley数据包过滤器)相对于旧BPF版本(对于经典BPF而言,是cBPF)最有用的发展之一就是基于clang和LLVM的后端的可用性,从而可以从C源代码生成eBPF字节码.
2021-02-21 20:52:29 861 4
转载 BPF环形缓冲区
目录BPF Ringbuf和BPF perfbuf内存开销活动订购浪费工作和额外的数据复制性能和适用性给我看看代码!BPF perfbuf:bpf_perf_event_output()BPF ringbuf:bpf_ringbuf_output()BPF ringbuf:保留/提交APIBPF ringbuf:数据通知控制结论现在有一个新的BPF数据结构可用:BPF环形缓冲区。它解决了BPF性能缓冲区(目前已成为从内核向用户空间发送数据的事实上的标准.
2021-02-21 20:41:55 2823 1
转载 使用libbpf-bootstrap构建BPF应用程序
目录为什么选择libbpf-bootstrap?先决条件Libbpf引导概述最小的应用BPF方面用户空间端生成文件引导程序包括:vmlinux.h,libbpf和应用程序头BPF地图只读BPF配置变量BPF环形缓冲区BPF CO-RE结论libbpf-bootstrap脚手架可让您轻松快捷地开始使用自己的BPF应用程序,该脚手架将处理所有寻常的设置步骤,并使您能够直接体验BPF的乐趣并最大程度地减少必要的样板。我们将看看libbpf-boo..
2021-02-21 20:29:14 1916
原创 关于英特尔® 以太网服务器适配器中 SR-IOV 的常见问题解答
英特尔数据中心解决方案 关于英特尔® 以太网服务器适配器中 SR-IOV 的常见问题解答关于英特尔® 以太网适配器中单根 I/O 虚拟化(SR-IOV) 的常见问题 (FAQ),您可以在此页面找到相关解答。单击或主题以了解详细信息:哪些英特尔® 以太网适配器和英特尔® 控制器支持 SR-IOV?英特尔® 以太网 800 系列 英特尔® 以太网网络适配器 E810(所有产品 SKU) 英特尔® 以太网网络适配器 X722 系列 英特尔® 以太网网络适配器 X722-DA...
2021-02-15 23:05:12 2927
转载 virtio 网络的演化:原始virtio > vhost-net(内核态) > vhost-user(DPDK) > vDPA
纵观virtio网络的发展,控制平面由最原始的virtio到vhost-net协议,再到vhost-user协议,逐步得到了完善与扩充; 数据平面上,从原先集成在QEMU中或内核模块的中,到集成了DPDK数据平面优化技术的vhost-user,最终到使用硬件加速数据平面。在保留virtio这种标准接口的前提下,达到了SR-IOV设备直通的网络性能。目录1.virtio-net驱动与设备:最原始的virtio网络2.vhost-net:处于内核态的后端3.vhost-user:使用DPD.
2021-02-15 22:58:04 7582 7
转载 Linux虚拟化KVM-Qemu分析(九)之virtio设备
目录1. 概述2. 流程分析3. tap创建 -网卡后端设备4. virtio-net创建4.1 数据结构4.2 流程分析4.2.1 class_init4.2.2 instance_init4.2.3 realize参考《Linux虚拟化KVM-Qemu分析(一)》《Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化》《Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)》《Linux虚拟化KVM-Qemu分析(四)之CPU..
2021-02-15 22:20:04 2518
转载 Linux虚拟化KVM-Qemu分析(八)之virtio初探
目录概述1. 网卡1.1 网卡工作原理1.2 Linux网卡驱动2. 网卡全虚拟化2.1 全虚拟化方案2.2 弊端3. 网卡半虚拟化3.1 virtio3.2 半虚拟化方案参考《Linux虚拟化KVM-Qemu分析(一)》《Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化》《Linux虚拟化KVM-Qemu分析(三)之KVM源码(1)》《Linux虚拟化KVM-Qemu分析(四)之CPU虚拟化(2)》《Linux虚拟化KVM-.
2021-02-15 22:10:13 2512
原创 2021年二月上旬文章导读与高可用链接 | kmap,vmap,ioremap,Containers-LXC,NAT,virtio,RT,tunning(tuned),NUMA,IP
目录文章总览《Linux操作系统实时性分析》《内存管理的另辟蹊径 - 腾讯云虚拟化开源团队为内核引入全新虚拟文件系统(dmemfs)》《刨根问底儿,看我如何处理 Too many open files 错误!》《Linux Containers》《一次解决Linux内核内存泄漏实战全过程》文章总览《Redis为什么要分16个库》https://mp.weixin.qq.com/s/A5jOgFL42hXHkxe299G-sg 《Linux操作系统实时性分析》https.
2021-02-15 20:49:00 542 10
转载 linux内存管理:kmap、vmap、ioremap
目录散列表也是哈希表kmap实现page_address_mappkmap_countpage_address_slot哈希函数kmap函数实现kmap_initkmapkmap_highpage_addressmap_new_virtualset_page_addresskunmapkunmap_high(struct page *page)函数实现vmap实现vmap函数vunmap函数ioremapioremap函数_
2021-02-15 20:42:52 7142 1
转载 Linux TCP/IP网络协议栈:IP协议源码分析
目录IP协议简介IP头部IP数据包的发送IP数据包的接收https://mp.weixin.qq.com/s/8WNcTxtD4DBcNtcrR8nz4QIP协议是网络的最重要部分,毫不夸张地说,正是因为有IP协议才有了互联网。而IP协议最重要的是IP地址,IP地址就好像我们的家庭住址一样,用于其他人方便找到我们的位置。当然,这篇文章并不是介绍IP协议的原理,有关IP协议的原理可以参考经典的书籍《TCP/IP协议详解》,而这篇文章主要介绍的是 Linu...
2021-02-15 20:08:00 946 2
转载 Linux如何处理 Too many open files
目录一、找到源代码二、找到进程级限制 nofile 和 fs.nr_open三、找到系统级限制 fs.nr_open总结一下《刨根问底儿,看我如何处理 Too many open files 错误!》https://mp.weixin.qq.com/s/GBn94vdL4xUL80WYrGdUWQ如果你的项目中支持高并发,或者是测试过比较多的并发连接。那么相信你一定遇到过“Too many open files”这个错误。这个错误的出现其实是正常的,因为每打开一个文件(.
2021-02-15 19:59:31 753 2
原创 红帽Redhat网络功能虚拟化产品指南、规划和配置指南
网络功能虚拟化产品指南 使开源更具包容性 1.了解红帽网络功能虚拟化(NFV) 1.1。NFV的优势 1.2。NFV部署支持的配置 2.软件 2.1。ETSI NFV架构 2.2。NFV ETSI体系结构和组件 2.3。红帽NFV组件 2.4。NFV安装摘要 3. NFV硬件 4. NFV数据平面连接 4.1。快速数据路径选项 5. NFV性能考量 5.1。CPU和NUMA节点 5.1.1。NUMA节点示例 5.1.2。NUMA感知实例 5
2021-02-10 15:23:47 458 1
原创 红帽Redhat产品资料官方文档
目录红帽企业LINUX云平台红帽容器红帽虚拟化红帽云系统管理红帽开发人员红帽存储红帽中间件身份管理硬件认证参考架构迁移工具包退役产品红帽企业LINUX红帽企业Linux 。净 红帽OpenStack平台 红帽开发人员工具集 红帽企业MRG 红帽软件收藏 红帽更新基础架构 实时红帽企业Linux云平台红帽见解红帽容器OpenShift容器平台 红帽容器开发套件 红帽企业Linux原子主机 红帽.
2021-02-10 15:21:27 1308
原创 【realtime】红帽 RedHat Linux实时内核配置要点全面分析
CentOS Linux实时性配置要点rtoax2021年2月1. 概要1.1. 实时性补丁补丁地址:CentOS 7 - RealTime for x86_64: RealTime: kernel-rt-doc3.10.0-693.2.2.rt56.623.el7.x86_64:下载3.10.0-1127.rt56.1093.el7.x86_64:下载1.2. 相关链接Product Documentation for Red Hat Enterprise Lin
2021-02-10 14:27:23 3571 4
转载 The Linux Trace Toolkit | LTTng Documentation
Last update: 5 August 2020Copyright © 2014-2020The LTTng ProjectThis work is licensed under aCreative Commons Attribution 4.0 International License.https://lttng.org/docs/Welcome!Welcome to theLTTng Documentation!TheLinux Trace Toolkit...
2021-02-06 20:46:10 313
转载 The Real Time Linux and RT Applications | PREEMPT_RT
目录HOWTO: RTOS and RT ApplicationsMemory for Real-time ApplicationsHOWTO build a simple RT applicationHOWTO build a basic cyclic applicationHOWTO build a simple RT application with a locking mechanismHOWTO build a simple RT application with a si
2021-02-06 20:25:40 1092 4
转载 sched-deadline.txt
Deadline Task Scheduling ------------------------CONTENTS======== 0. WARNING 1. Overview 2. Scheduling algorithm 2.1 Main algorithm 2.2 Bandwidth reclaiming 3. Scheduling Real-Time Tasks 3.1 Definitions 3.2 Schedulability Ana...
2021-02-06 20:17:04 629 1
翻译 实时Linux内核调度器 | Real-Time Linux Kernel Scheduler
《Real-Time Linux Kernel Scheduler》HOWTOsby Ankita Garg on August 1, 2009Many market sectors, such as financial trading, defense, industry automation and gaming, long have had a need for low latencies and deterministic response time. Traditionally, ...
2021-02-06 19:52:27 2078 7
翻译 Introduction to Real-Time Kernels
目录What is a Real-Time Kernel?Evaluation BoardsMicrium’s µC/ProbeTexas Instruments’ EVALBOTSummaryThis article describes how you can get started with learning about the internals of real-time kernels using a commercial grade kernel, running .
2021-02-06 18:02:11 460 1
翻译 使用Red Hat Enterprise Linux的实时内核
运行实时内核并评估其对应用程序的潜力和性能优势是值得的。https://www.redhat.com/sysadmin/real-time-kernel目录什么是实时内核?实时安装RHELWrap up实时内核功能在开源生态系统中已经存在了十多年。同样,红帽企业Linux(RHEL)对实时内核的支持已经使用了几年。但是,许多系统管理员仍然误解了其核心概念和实际操作行为。在本文中,我描述了它的一些关键功能,与标准内核的区别以及快速安装步骤。最初,红帽推出了一种名为“红帽企业M.
2021-02-06 17:52:38 1000 3
转载 Linux实时/高性能任务独占CPU的操作
本文主要讨论在高实时要求、高效能计算、DPDK等领域,Linux如何让某一个线程排他性独占CPU;独占CPU涉及的线程、中断隔离原理;以及如何在排他性独占的情况下,甚至让系统的timer tick也不打断独占任务,从而实现最低的延迟抖动。目录工程需求用户态隔离内核态隔离中断内核态线程最佳实践指南参考文献工程需求在一个SMP或者NUMA系统中,CPU的数量大于1。在工程中,我们有时候有一种需求,就是让某个能够独占CPU,这个CPU什么都不做,就只做指定的任务,..
2021-02-06 17:39:18 1307 4
转载 Linux进程管理:进程调度之完全公平调度算法
目录完全公平调度算法基本原理完全公平调度的两个时间完全公平调度的两个对象完全公平调度算法实现调度时机Linux 进程调度算法经历了以下几个版本的发展: 基于时间片轮询调度算法。(2.6之前的版本) O(1) 调度算法。(2.6.23之前的版本) 完全公平调度算法。(2.6.23以及之后的版本) 之前我写过一篇分析O(1)调度算法的文章:O(1)调度算法,而这篇主要分析 Linux 现在所使用的完全公平调度算法。分析完全公平调度算法前,...
2021-02-06 17:27:47 953
转载 ELF(Executable Linkable Format)文件存储格式
目录1. 链接举例2. ELF文件类型2.1 可重定位目标文件(.o文件)2.2 可执行目标文件(a.out文件)2.3 共享对象文件(.so文件)3. ELF文件作用4. ELF文件格式4.1 从编译和链接角度看ELF文件(可重定位目标文件)4.2 从程序执行角度看ELF文件(可执行文件)5.总结1. 链接举例 在介绍ELF文件之前,我们先看下,一个.c程序是如何变成可执行目标文件的。下面举个例子。 该程序由main.c和sum.c两个模块组成.
2021-02-06 17:19:30 441 1
转载 硬盘的秘密
目录硬盘简史硬盘的结构硬盘访问的时间逻辑磁盘块最后巨人的肩膀硬盘简史1956 年 9 月 14 号,世界第一台磁盘存储设备 IBM 305 RAMAC 诞生,这个设备用盘片来存储数据,用磁头来读写数据,不过碍于当时的技术,这体积确实有点大,大约有两个冰箱那么大,来看下图就知道了。中间的历史我看了看对我们没啥用,咱们就快进到 1973 年,那年 IBM 推出了一个代号称为 「温切斯特」的硬盘。这种硬盘的特点就是磁头和磁片装在一个密闭空间里,当磁片高速自传之后磁头会.
2021-02-06 17:08:09 597
C语言设计模式 PDF《C Design Pattern》
2024-04-17
C, GNUC GCC 预处理《The C Preprocessor》
2024-04-16
User Guide: Open Build Service
2022-05-13
CentOS Stream 9 nasm 安装包
2022-05-01
CentOS Stream 9 nasm 源码包
2022-05-01
Optimizing Linux Kernel with BOLT.pdf
2022-01-21
red_hat_enterprise_linux-8-customizing_anaconda-en-us.pdf
2022-01-18
cclinux-coreos-34.20211111.3.0-live.x86_64.iso
2021-11-11
Ftrace Kernel Hooks-More than just tracing.pdf
2021-10-22
cpumemory-What Every Programmer Should Know About Memory.pdf
2021-09-10
architecture-instruction-set-extensions-programming-reference
2021-09-10
System V Application Binary Interface - AMD64 Architecture
2021-09-10
Hidden Linux Metrics with Prometheus eBPF Exporter.pdf
2021-09-03
e2ap-v01.00.00.asn
2021-08-25
Intel 64 and IA-32 Architectures Software Developer’s Manual Combined
2021-07-07
谈谈你对Container Linux容器操作系统的理解
2021-11-14
Linux“实时补丁”导致CPU无法占满运行
2021-02-22
C语言如何将字符串“int”转化为int类型
2019-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人