自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

RToax

Just for Fun

转载 (6)Linux进程调度-实时调度器

目录 背景 1. 概述 2. 数据结构 3. 流程分析 3.1 运行时统计数据 3.2 组调度 3.3 带宽控制 3.4 调度器函数分析 3.4.1 pick_next_task_rt 3.4.2 enqueue_task_rt/dequeue_task_rt 背景 R...

2020-07-31 16:51:09 93 5

转载 (5)Linux进程调度-CFS调度器

目录 背景 1. 概述 2. 数据结构 2.1 调度类 2.2 rq/cfs_rq/task_struct/task_group/sched_entity 3. 流程分析 3.1 runtime与vruntime 3.2 CFS调度tick 3.3 任务出队入队 3.3 任务创...

2020-07-31 15:48:15 175 0

转载 (4)Linux进程调度-组调度及带宽控制

目录 背景 1. 概述 2. task_group 2.2 task_group权重 3. cfs_bandwidth 3.1 数据结构 3.2 流程分析 3.2.1 初始化流程 3.2.2 用户设置流程 3.2.3throttle限流操作 3.2.4 总结 背景 R...

2020-07-31 15:17:18 123 0

转载 【转】内核通信之 Netlink 源码分析和实例分析

目录 前言 什么是 netlink netlink 内核代码走读 netlink 内核相关文件介绍 af_netlink.c 代码走读 netlink 用户态和内核交互过程 netlink 关键数据结构和函数 sockaddr_nl 协议套接字 nlmsghdr 消息体 msg...

2020-07-29 16:19:55 159 3

原创 DPDK examples l2fwd添加速率统计功能

/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2016 Intel Corporation */ #include <stdio.h> #include <stdlib.h> #include...

2020-07-29 15:53:07 149 0

原创 DPDK examples rxtx_callbacks完全注释

目录 main.c The RX/TX Callbacks sample application is a packet forwarding application that demonstrates the use of user defined callbacks on received...

2020-07-29 15:43:15 134 0

原创 DPDK examples ethtool-app完全注释

目录 main.c ethapp.h ethapp.c The Ethtool sample application shows an implementation of an ethtool-like API and provides a console environment that...

2020-07-29 15:15:42 149 0

原创 DPDK examples cmdline完全注释(添加quit功能)

目录 main.c 添加的quit部分代码 DPDK版本:20.05 main.c /* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation. * Copyright (c...

2020-07-28 18:01:47 144 0

原创 DPDK examples helloworld完全注释

/* SPDX-License-Identifier: BSD-3-Clause * Copyright(c) 2010-2014 Intel Corporation */ #include <stdio.h> #include <string.h> #include...

2020-07-28 17:43:22 169 0

转载 (3)Linux进程调度-进程切换

背景 Read the fucking source code!--By 鲁迅 A picture is worth a thousand words.--By 高尔基 说明: Kernel版本:4.14 ARM64处理器,Contex-A53,双核 ...

2020-07-28 16:59:46 96 0

转载 (2)Linux进程调度器-CPU负载

目录 背景 1. 概述 2. 全局CPU平均负载 2.1 基础概念 2.2 流程 2.3 计算方法 3. 运行队列CPU负载 4. PELT 4.1 PELT计算方法 4.2 PELT计算调用 背景 Read the fucking source code!--By 鲁...

2020-07-28 16:51:01 89 0

转载 【资源分享】Linux Scheduler

Linux Scheduler Completions - “wait for completion” barrier APIs CPU Scheduler implementation hints for architecture specific code CFS Bandwidth C...

2020-07-28 15:49:50 70 0

翻译 DPDK在Linux用户级执行环境中执行EAL

目录 在Linux用户级执行环境中进行EAL 初始化和核心启动 关机和清理 多进程支持 内存映射发现和内存保留 支持外部分配的内存 每个核心和共享变量 日志 CPU功能识别 用户空间中断事件 黑名单 杂项功能 IOVA模式检测 IOVA模式配置 在Linux用户级执行...

2020-07-28 13:51:49 114 0

转载 DPDK EAL parameters(DPDK环境抽象层参数)-原始版本(F-Stack配置文件的配置参数)

7. EAL parameters This document contains a list of all EAL parameters. These parameters can be used by any DPDK application running on Linux. 7.1. ...

2020-07-27 17:46:34 182 0

原创 DPDK EAL parameters(DPDK环境抽象层参数)-MD版本(F-Stack配置文件的配置参数)

整理自 EAL parameters This document contains a list of all EAL parameters. These parameters can be used by any DPDK application running on Linux. Common...

2020-07-27 17:37:58 140 0

原创 Linux内核的文档管理工具:Sphinx

使用Sphinx作为文档管理的主页: Linux内核:https://www.kernel.org/doc/html/latest/# DPDK:https://doc.dpdk.org/guides/index.html What users say:“Cheers for a grea...

2020-07-27 17:17:51 99 0

转载 PyCUDA Documentation

目录 Contents Indices and tables PyCUDA Navigation Quick search PyCUDA gives you easy, Pythonic access toNvidia’sCUDAparallel computation API. Se...

2020-07-27 17:12:07 98 0

翻译 DPDK ring库:环形缓冲区的解剖

目录 ring库 FreeBSD *中的Ring实施参考 Linux *中的无锁环形缓冲区 附加功能 名称 用例 环形缓冲区的解剖 单一生产者入队 单一消费者出队 多个生产者入队 模数32位索引 生产者/消费者同步模式 MP / MC(默认一项) SP / SC MP...

2020-07-27 16:43:47 221 0

翻译 DPDK服务核心(coremask)

目录 服务核心 服务核心初始化 在核心上启用服务 服务核心统计 服务核心 DPDK具有称为服务核心的概念,该概念允许动态地在DPDK lcore上执行工作。EAL中内置了服务核心支持,并且提供了一个API,以选择性地允许应用程序控制运行时如何使用服务核心。 服务核心概念是由服务(需要...

2020-07-27 15:29:23 211 0

翻译 DPDK多线程:EAL pthread和lcore Affinity(F-Stack配置文件的配置参数:lcore_mask、lcore_list)

目录 多线程 EAL pthread和lcore Affinity 非EAL pthread支持 公共线程API 控制线程API 已知的问题 cgroup控件 多线程 DPDK通常每个内核固定一个pthread,以避免任务切换的开销。这可以显着提高性能,但缺乏灵活性,而且并不总...

2020-07-27 15:04:12 258 1

转载 内存管理:Linux Memory Management:MMU、段、分页、PAE、Cache、TLB

目录 Linux Memory Management Memory Address Need for Virtual Addressing Address Translation Address Translation in Intel x86 MMU Segmentation an...

2020-07-27 10:38:00 180 24

翻译 Memory Translation and Segmentation(内存转换与段)

Memory Translation and Segmentation(内存转换与段) https://manybutfinite.com/post/memory-translation-and-segmentation/ This post is the first in a series ...

2020-07-27 10:24:20 161 0

转载 The X protocol C-language Binding (XCB) is a replacement for Xlib

目录 Introduction News Download Development Documentation Miscellaneous Introduction The X protocol C-language Binding (XCB) is a replacement f...

2020-07-24 17:29:42 75 0

转载 Linux Memory Management – Virtual Memory and Demand Paging

Linux Memory Management – Virtual Memory and Demand Paging Memory management is one of the most complex activity done by Linux kernel. It has various...

2020-07-24 17:25:20 83 0

转载 BSD的blackhole啥意思

BLACKHOLE(4) BSD Kernel Interfaces Manual BLACKHOLE(4) NAME blackhole -- a sysctl(8) MIB for manipulating behaviour in respect of re- ...

2020-07-22 17:33:35 94 0

原创 C语言嵌入汇编指令(asm)查询系统时间

源代码 #include <stdio.h> #include <time.h> int main() { time_t tt; struct tm *t; asm volatile ( "mov $0, %%ebx\n\t" /* t...

2020-07-22 14:06:41 97 1

原创 C语言实现ICMP协议,并进行PING测试

myicmpping.c /* Copyright (C) Rong Tao @Sylincom Beijing, 2019年 06月 14日 星期五 09:06:14 CST. */ #include <stdio.h> #include <signal.h> #in...

2020-07-22 13:56:29 206 15

转载 DPDK 全面分析

目录 高性能网络技术# C10K 到 C10M 问题的演进# 为什么这么说?基于 OS 内核的数据传输有什么弊端?# 解决方案探讨# dpdk 的突破# dpdk 的应用# 数据面(虚拟交换机):# 数据面(虚拟路由器):# 用户空间协议栈# 总结# 高性能网络技术# 随着...

2020-07-21 16:15:50 133 0

转载 F-Stack KNI配置注意事项

目录 F-Stack KNI配置注意事项 KNI介绍 KNI配置 系统配置 题图 F-Stack KNI配置注意事项 KNI介绍 KNI(Kernel NIC Interface)内核网卡接口,是DPDK中用于与内核通信的模块,在主要的业务流程中可能并不需要,但在部分场景下,如服务...

2020-07-21 14:59:05 180 0

转载 用DPDK rte_ring实现多进程间通信

F-Stack是多进程架构,去除了进程间资源共享来达到更高的性能,但还是有部分控制信息需要在进程间同步,使用rte_ring让多个进程间的通信变得十分简单。 rte_ring在F-Stack中主要用于: 1.各个进程间ARP包的广播 2.KNI的转发 3.与工具(sysctl等)进行通信。 ...

2020-07-21 14:56:16 249 0

转载 Linux Kernel Lock types and their rules

目录 Lock types and their rules Introduction Lock categories Sleeping locks CPU local locks Spinning locks Owner semantics rtmutex semaphore ...

2020-07-21 13:54:45 123 0

翻译 什么是NUMA?

由Kanoj Sarcar <kanoj@sgi于1999年11月开始。com> 什么是NUMA? 这个问题可以从两个角度回答:硬件视图和Linux软件视图。 从硬件角度来看,NUMA系统是一个计算机平台,它包含多个组件或组件,每个组件或组件可能包含0个或多个CPU,本地内存和...

2020-07-21 13:39:31 156 0

翻译 Linux虚拟文件系统概述

目录 Linux虚拟文件系统概述 介绍 目录条目缓存(dcache) 索引节点对象 文件对象 注册和挂载文件系统 结构file_system_type 超级块对象 struct super_operations struct xattr_handlers 索引节点对象 st...

2020-07-21 09:15:08 134 3

翻译 FreeBSD 11.0-发布公告

FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD 为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSD UNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很...

2020-07-20 17:35:54 552 0

翻译 SPI总线

目录 SPI总线 信号定义 SPI总线特性 多设备拓扑 高速设计 协议 SPI总线 串行外围设备接口(SPI)总线是电气工程师的最好朋友。以其最简单的形式,它是具有主/从关系的点对点接口。信号都是单向的和点对点的,这允许简单的串联端接,以进行高速传输线操作。它可以在很高的频率下运...

2020-07-20 17:12:16 147 0

翻译 SPI总线-串行协议解码

目录 SPI总线-串行协议解码 接线 发信号 SPI总线-串行协议解码 SPI(串行外围接口)总线最初是由摩托罗拉开发的,用于其微控制器。由于总线的简单性,其他制造商采用了它,并且它已广泛用于嵌入式系统设计中使用的组件中。它通常用于CPU与键盘,显示器,ADC和DAC,实时时钟,EEPR...

2020-07-20 17:04:23 99 0

原创 linux平台C语言实现守护进程

/* * daemon(3) implementation for systems lacking one. * Cobbled together from various daemon(3) implementations, * not intended to be general-pur...

2020-07-20 15:44:46 71 0

翻译 LInux命名空间兼容性列表

Namespaces compatibility list This document contains the information about the problems user may have when creating tasks living in different namesp...

2020-07-20 10:41:19 84 0

转载 NUMA全称 Non-Uniform Memory Access,译为“非一致性内存访问”,积极NUMA内存策略

NUMA的诞生背景 在NUMA出现之前,CPU朝着高频率的方向发展遇到了天花板,转而向着多核心的方向发展。 在一开始,内存控制器还在北桥中,所有CPU对内存的访问都要通过北桥来完成。此时所有CPU访问内存都是“一致的”,如下图所示: 这样的架构称为UMA(Uniform Memory A...

2020-07-20 10:07:46 161 0

转载 Memory Management Concepts overview(内存管理基本概念)

目录 Concepts overview Virtual Memory Primer Huge Pages Zones Nodes Page cache Anonymous Memory Reclaim Compaction OOM killer Concepts overv...

2020-07-20 09:39:00 137 0

提示
确定要删除当前文章?
取消 删除