技术·学习·实践·人生·哲学
山是山,水是水;山不是山,水不是水;山还是山,水还是水
11
20
linux内存管理指北 linux内存管理指北
内存是一段连续的地址单元,linux内核接管内存管理后,会将内存划分为内核区和用户区。因而内存管理就分为两个层面: 内核内存管理 一般是kmalloc(小块内存)和vmalloc(大块内存)。 用户内存管理 一般是malloc(小块内存
2022-11-20
20
linux内核模块指北 linux内核模块指北
linux内核提供在运行时可进行扩展的特性,这意味着当系统启动并运行时,我们可以向内核添加或移除部分功能。我们在运行时添加到内核中的代码就被成为动态可加载内核模块,我们简称为内核模块。可以将内核模块模块简单理解为linux内核的插件。 内核
2022-11-20
20
linux字符设备指北 linux字符设备指北
混杂设备在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂设备。 设备描述Linu
2022-11-20
20
linux巨页内存指北 linux巨页内存指北
巨页的实现,涉及到两个模块:hugetlb和hugetlbfs。 hugetlb struct hstate hstates[HUGE_MAX_HSTATE];上面定义了一个hstate数组,每个元素是一个巨页池。不同的巨页池,其巨
2022-11-20
20
20
linux数据预取 linux数据预取
reference https://www.manongdao.com/article-2302590.html https://www.cnblogs.com/liloke/archive/2011/11/20/2255737.html
2022-11-20
20
linux目录介绍 linux目录介绍
/syssysfs是一种基于ram的文件系统,和proc一样。Sysfs文件系统是一个类似于proc文件系统的特殊文件系统,用于将系统中的设备组织成层次结构,并向用户模式程序提供详细的内核数据结构信息。其实,就是在用户态可以通过对
2022-11-20
20
linux常用系统接口 linux常用系统接口
mprotect mprotect()函数可以修改调用进程内存页的保护属性,如果调用进程尝试以违反保护属性的方式访问该内存,则内核会发出一个SIGSEGV信号给该进程。 #include <sys/mman.h> in
2022-11-20
20
linux锁指北 linux锁指北
锁一般用于解决资源竞争,比如多进程或者多线程场景下。锁主要是为了保证同一个资源在同一时间只能被一名修改者修改。 互斥锁(mutex)对于竞争资源来说,只要有一方获取了资源的锁,另一方就无法修改竞争资源,需要等待锁释放并获取到锁之后才能进行修
2022-11-20
20
20
20
vlan使用指北 vlan使用指北
vlan详细内容请参考博客。 VLAN(Virtual Local Area Network)的中文名为”虚拟局域网”。 LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由
2022-11-20
20
内存管理之dlmalloc 内存管理之dlmalloc
基础知识内存分配原理 首先我们需要知道的是allocator与普通程序一样都工作在用户态,并且其本身也是作为system heap的一部分。当用户通过malloc之类的库函数提交分配请求后,将首先由allocator查找,如果在其内部保留的
2022-11-20
20
抓包指北 抓包指北
抓包命令 tcpdump -i eth1 -vvv -w test.pcap # -i 指定网口 # -vvv 在shell中显示抓到的包 # -w 将抓到的包写入文件 指定主机名 tcpdump -i eth1 host www.bai
2022-11-20
20
20
fib表 fib表
fib(forward info base)转发表。 出现原因路由表表示所有的有效路由所形成的表项,并不指导转发 转发原理 : 路由表中存在多个路由项可以匹配目的IP地址时,路由查找进程会选择其中掩码最长的路由项用于转发 缺点 : 那么路
2022-11-20
20
ip分片 ip分片
当IP数据报超过帧的MTU(最大传输单元)时,它将会被分片传输。分片能发生在发送端或者中转路由器,且在传输过程中可能被多次分片。在最后的目标机器上这些分片才会被内核的的IP模块重新组装。 ipv4报文结构ipv4 ip报文分片 在IPv
2022-11-20
20
cdu_nxp2160_ptp1588v2实现方案 cdu_nxp2160_ptp1588v2实现方案
ptp1588v2是一套软件协议标准,借助于软硬件时间戳来进行时间同步。因而其需要两方面的支持: 硬件支持时间戳或软件层面直接添加时间戳 软件层面需按照IEEE1588实现相关的协议 当前cdu-nxp2160板子硬件(网卡)支持时间戳
2022-11-20
20
fastgtpu配置及cli说明文档 fastgtpu配置及cli说明文档
配置vpp加载时会读取startup.conf的配置,fastgtpu的配置如下: fastgtpu { # 发送队列大小,值为2的幂次方 # 如20表示发送队列大小为2^20 tx
2022-11-20
20
fastgtpu发包测试说明文档 fastgtpu发包测试说明文档
背景fastgtpu作为vpp的一个插件,只能被动收包,无法主动发包,需对其进行发包适配。 fastgtpu主动发包控制参数 发包模式 共有三种发包模式: 独立线程发包(速率可配置) 独立线程1:1回包 在fastgtpu线程中1:1回包
2022-11-20
20
fastgtpu插件加载 fastgtpu插件加载
初始化VLIB_INIT_FUNCTION(fastgtpu_Init); graph TB fastgtpu_Init-->pthread_create-->fastgtpu_ThroughputThread-->fas
2022-11-20
20
vpp适配ptp方案 vpp适配ptp方案
vpp主要在5G小基站侧基于dpdk用于收发包处理。而中国移动对基站侧的ptp协议实现要求如下: 应支持OC,可选支持BC 支持BMC状态信息提取,但不强制要求支持状态决策算法和选源算法 基站设备应支持PTP端口应可设置为Enable和D
2022-11-20
20
vpp vector指北 vpp vector指北
版权声明:本文为CSDN博主「成王君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/weixin_45429253/article/details/9
2022-11-20
20
vpp buffer接口 vpp buffer接口
buffer/** VLIB buffer representation. */ typedef union { // 使用union方便在结构体和byte(内存)之间转换 struc
2022-11-20
20
vpp 主要数据结构 vpp 主要数据结构
vlib_main_t vpp最顶层结构,其中包含了vpp执行的绝大部分信息,后续注册加载都是填充该数据结构。执行都需要从该数据结构中获取相关信息。 其中节点存在node_main中,即: /* Node graph main
2022-11-20
20
vpp使用说明文档 vpp使用说明文档
先将vpp_arm64.tar.gz复制到目标机器上进行解压,解压后的目录结构如下: root@localhost-Technical-B:~/vpp/vpp# ls bin dpaa2 vpp_readme in
2022-11-20
20
vpp代码流程分析 vpp代码流程分析
常规程序都是从main函数开始执行,main函数执行完后程序退出。但vpp利用gcc的 _attribute_((constructor))特性,使很多函数都在main函数之前执行。主要是插件的配置、注册等操作。当然这些配置和注册操作只是告
2022-11-20
20
vpp多网口转发 vpp多网口转发
vpp接管两个网口,当前需实现功能从网口1进来的流量由网口2发送出去。 二层转发二层转发使用l2 bridge方式转发,需创建网桥。 vpp二层转发配置如下: vpp# show int Name
2022-11-20
20
vpp开发指南 vpp开发指南
vpp二次开发一般都是基于vpp框架进行插件开发。具体友包含以下几个方面: 配置 插入节点 收包 发包 配置// sample_config是配置读取函数 // sample是startup.co
2022-11-20
20
vpp日志系统 vpp日志系统
vpp日志接口在dpdk插件中可以使用vpp封装的dpdk日志打印接口: dpdk_log_info dpdk_log_warn dpdk_log_notice dpdk_log_err vpp本身的日志会调用syslog写到内核日志系统里
2022-11-20
13 / 17
分类导航
随笔2 AI27 算法1 计算机基础13 博客搭建7 ChatGPT2 集群63 计算机通信1 数据库34 数据库深入80 DPDK26 Docker11 Elasticsearch4 编辑工具4 FAQ1 Go Web1 hometown2 编程语言16 网络9 OPC1 Linux38 openGauss4 页面12 PostgreSQL54 程序员自我修养1 协议11 成长之路1 stock1 存储5 工具20 VPP18 视频作品1 Vue13 Web1 代码示例11 数据库15 BenchmarkSQL1 PostgreSQL 源码修炼之路14
最热文章
1
13 逻辑复制深入
数据库深入🔥 1570
2
0 Postgresql存储、索引及系统优化、主备切换
PostgreSQL🔥 1495
3
一文读懂openguass dcf网络模块
集群🔥 1420
4
逻辑复制源码分析
数据库深入🔥 1327
5
PostgreSQL 分区表:从一行 `PARTITION BY` 到路由热路径的全链路拆解
数据库🔥 1094
6
applyparallelworker.c 之 LA 端源码深度解析:Leader Apply Worker 的指挥中枢
数据库深入🔥 1082
7
PostgreSQL Background Worker 全解:从 `RegisterBackgroundWorker` 到逻辑复制 4 类 worker 的全生命周期
数据库🔥 1078
8
PostgreSQL的后台进程walsender分析 - 关系型数据库 - 亿速云
PostgreSQL🔥 1033
9
PostgreSQL 逻辑复制的监控:六张视图 + 一组可执行 SQL,把 publisher/subscriber 的速率与健康度彻底看透
数据库🔥 1032
10
PostgreSQL 逻辑复制支持 DDL 之后:DDL 与 DML 的时序难题(重点:分区表)
数据库🔥 999
11
reorderbuffer.c 源码深度解析:PostgreSQL 逻辑复制的"事务重组引擎
数据库深入🔥 953
12
PostgreSQL 内核开发:读取一张表的 9 步标准流程与缓存全景
数据库🔥 938
13
从 `postgres` 二进制到生产级守护 —— PostgreSQL 最外层模块与启动全流程拆解
数据库🔥 936
14
支持逻辑复制同步 DDL 适配 SQL Server 方案
数据库深入🔥 934
15
PostgreSQL 逻辑复制的 ReorderBuffer 与事务机制:从一行 WAL 到一致性变更流的全链路绑定
数据库🔥 913
16
DDL同步架构(美化版)
数据库深入🔥 908
17
PostgreSQL Latch 机制详解:从一行 SetLatch 到 epoll 的内核之旅
数据库🔥 871
18
pgbench 源码全解:一个 C 文件如何撑起 PostgreSQL 官方压测工具
数据库🔥 860
19
PostgreSQL libpq 机制与缓冲区详解
数据库🔥 850
20
PostgreSQL 逻辑复制 spill 文件深度剖析:从 `xid-*.spill` 到 TPC-C 的增长方程
数据库🔥 845