- 博客(19)
- 资源 (134)
- 论坛 (2)
- 问答 (2)
- 收藏
- 关注
原创 Linux C语言:用零拷贝技术实现TCP代理(源代码+测试服务端客户端代码)
目录test-server-clientMakefileeproxy-original.ceproxy.clist.hhttps://github.com/Rtoax/test/tree/master/zero-copy/github/eproxytest-server-client点击查看服务端客户端代码MakefileCFLAGS := -g -Wall -O2all: gcc eproxy.c -o eproxy.out ${CFLAGS} ..
2021-01-31 19:40:55
100
原创 DPDK | 如何在用户空间使用大页内存hugepage
目录common.heal_hugepage_info_init.chugepage_info.hhugepage_info_init.cmain.chttps://github.com/Rtoax/test/tree/master/dpdk/hugepage/how-to-use-hugepage-in-userspacecommon.h#include <assert.h>#define RTE_LOG(MOD, LEVEL, fmt...) pr.
2021-01-31 19:31:58
67
原创 一个试图尝试包含Linux C语言所有内容的代码段仓库|test
testhttps://github.com/Rtoax/test _____________ /\____ ____\ \/___ \ \___/ _____ _____ ___ ___ \ \ \ / ___ \ / ___ \ /\ \/ / \ \ \ /\ \_/\ \ /\ \_/\ \ \ \ /
2021-01-31 19:27:22
67
3
原创 基于CAS的低时延队列实现(原理示例)
https://github.com/Rtoax/test/tree/master/c/cas/cas-queue/** * cas-queue.h * * 提供简单低时延的 基于 CAS 操作的队列 * * 荣涛 2021年1月13日 * 荣涛 2021年1月14日 添加枚举类型,封装简单接口,但是封装后时延显著增高,见 test-3.c * 这套接口是按照 多入多出多消息传递 设计的。 * */#ifnde
2021-01-31 19:24:41
23
1
原创 UINT64原子操作示例程序(x86汇编,atomic64.h)
#ifndef ____ATomIC_H#define ____ATomIC_H 1#include <stdint.h>#ifndef __x86_64__# error "Not support Your Arch, just support x86-64"#endif/** * The atomic counter structure. */typedef struct { volatile int64_t cnt; /**< Internal c...
2021-01-31 19:20:15
35
2
原创 测试POSIX、System V消息队列时延和性能
https://github.com/Rtoax/test/blob/master/ipc/mqueue/1/statistics-perf.c/** * 统计 mqueue 消息队列的吞吐率和性能 * 作者:荣涛 * 日期 :2021年1月4日 * 修改历史 * 2021年1月5日 添加时间戳,计算时延 */#include <stdio.h>#include <fcntl.h> /* For O_* cons...
2021-01-31 19:17:40
19
原创 Linux C语言在用户态实现一个低时延通知(eventfd)+轮询(无锁队列ring)机制的消息队列
目录fastq.cfastq.htest-0.ctest-1.chttps://github.com/Rtoax/test/tree/master/ipc/github/fastqfastq.c/**********************************************************************************************************************\* 文件: fastq.c* 介绍: 低
2021-01-31 19:14:40
47
1
原创 2021年一月文章导读
Swap;listen()系统调用backlog;三层交换机;TCP;ARM Cortex-A9中断;中断;PCI驱动;页表的块映射;SRv6;percpu;DirtyCow;RMAP;watchdog;GFP_ATOMIC;eBPF ;accept();IOMMU;VFIO; PCI驱动;MSI/MSIX;TLS;CMA;进程优先级;NAPI机制;高速缓存;SVE;5G承载网;ARP 协议;虚拟文件系统;I/O多路复用;缓存池;RISC-V架构;《Linux Swap 介绍》https://mp.we
2021-01-31 18:41:05
68
3
翻译 libcap-ng库旨在使具有posix功能的编程比传统的libcap库容易得多
libcap-ng库旨在使具有posix功能的编程比传统的libcap库容易得多。它包括一些实用程序,可以分析所有当前正在运行的应用程序并打印出任何功能,以及是否具有开放式边界集。不带securebits“ NOROOT”标志的开放边界集将允许仅通过调用execve来扩展保留uid 0的应用程序的完整功能。随附的实用程序旨在让管理员和开发人员从可能以太多特权运行的各种方式中发现应用程序。例如,任何调查都应该从面向网络的应用程序开始,因为它们将是入侵的主要目标。netcap程序将检查所有正在运行的应用程序
2021-01-03 21:59:23
89
2
原创 C语言实现单例模式,以及使用内存屏障的性能优化方案
这里有一篇关于《C语言实现简单的单例模式》的基于OpenMP多线程的单例模式示例程序,这里给出采用内存屏障由于单例模式的示例“https://coderatwork.cn/posts/singleton-and-mb/”:单例模式是一个比较简单的设计模式, 但多线程场景下使用延迟加载的单例模式是一个经典的并发问题, 可能会需要使用锁和内存屏障来保障线程安全。 这篇文章主要讲并发场景下使用加载的单例模式的实现。目录1. 非线程安全的单例实现2. 线程安全的单例实现3. 线程安全的单例实现—
2021-01-03 21:39:33
94
转载 Linux ptrace系统调用详解:利用 ptrace 设置硬件断点
《GDB调试之ptrace实现原理》《C语言程序调用栈:backtrace+backtrace_symbols+backtrace_symbols_fd》《strace实现原理:ptrace系统调用》《Linux环境无文件渗透执行ELF:memfd_create、ptrace》《利用ptrace和memfd_create混淆程序名和参数》《利用 ptrace 设置硬件断点》源码参见:ptrace系统调用:https://github.com/Rtoax/test/tree/.
2021-01-03 21:28:07
106
1
转载 Containerd 的前世今生和级入门教程
https://mp.weixin.qq.com/s/DhLmd9tv88-Vbk6dwx3umghttps://fuckcloudnative.io/posts/getting-started-with-containerd/https://fuckcloudnative.io/目录1. Containerd 的前世今生2. Containerd 架构3. Containerd 安装安装依赖下载并解压 Containerd 程序生成配置文件镜像加速存储配置...
2021-01-03 21:17:08
581
原创 三星开源的 tcpflow 抓包工具
tcpflow 是一个程序,用于捕获作为 TCP 连接(流)的一部分传输的数据,并存储数据的方式便于协议分析和调试。每个 TCP 流都存储在其自己的文件中。因此,典型的 TCP 流将存储在两个文件中,每个方向一个。tcpflow 还可以处理存储的"tcpdump"数据包流。GitHub:https://github.com/simsong/tcpflow 直接下载:http://downloads.digitalcorpora.org/downloads/tcpflow/目录TCPFLOW 1.
2021-01-03 21:08:41
47
1
转载 分布式架构高可用与高并发那些在工作中常用到的那些变态应用
目录反向代理服务应用服务数据库和memcached服务三层架构的可伸缩性反向代理服务上图展示了一个典型的三层架构的高性能 Web 应用。这种成熟的架构多年以来已被广泛部署于包括 Google、Yahoo、Facebook、Twitter、Wikipedia 在内的诸多大型 Web 应用中。位于三层构架中最外层的反向代理服务器负责接受用户的接入请求,在实际应用中,代理服务器通常至少还要完成以下列表中的一部分任务:连接管理:分别维护客户端和应用服务器的连接池,管理并关闭已超时
2021-01-03 21:02:52
62
转载 Linux网络协议栈:用eBPF写TCP拥塞控制算法
其实不想用这个题目的,只因为TCP相关的东西比较吸引人的眼球,这篇文章的主题还是eBPF,而不是TCP。用eBPF写TCP拥塞控制算法只是本文所讲内容的一个再平凡不过的例子。先看两个问题,或者说是两个痛点: 内核越来越策略化。 内核接口不稳定。 分别简单说一下。所谓内核策略化就是说越来越多的灵巧的算法,小tricks等灵活多变的代码进入内核,举例来讲,包括但不限于以下这些: TCP拥塞控制算法。 TC排队规则,数据包调度算法。 各种查找的哈希...
2021-01-03 20:55:07
53
8
转载 Linux内核workqueue
Workqueue 是内核里面很重要的一个机制,特别是内核驱动,一般的小型任务 (work) 都不会自己起一个线程来处理,而是扔到 Workqueue 中处理。Workqueue 的主要工作就是用进程上下文来处理内核中大量的小任务。所以 Workqueue 的主要设计思想:一个是并行,多个 work 不要相互阻塞;另外一个是节省资源,多个 work 尽量共享资源 ( 进程、调度、内存 ),不要造成系统过多的资源浪费。为了实现的设计思想,workqueue 的设计实现也更新了很多版本。最新的 work
2021-01-03 20:40:57
58
1
转载 Linux中断子系统
首先感谢原文作者 LoyenWang 的分享,可以点击章节阅读原作者原文,或者查看本文的转载地址,再次感谢原作者分享,已经在公众号上征得作者同意。说明:Kernel版本:4.14 ARM64处理器,Contex-A53,双核 使用工具:Source Insight 3.5, Visio名词GIC:中断控制器Generic Interrupt Controller SoC:系统级芯片System on Chip SGI:软件产生的中断(software-generated inter..
2021-01-03 18:21:54
76
《A Practical Introduction to Data Structures and Algorithm Analysis》
2018-06-03
中国电信DPDK技术白皮书.pdf
2020-10-25
OpenCV自带视频测试文件vtest.avi
2018-05-04
conf20200210.darkTheme.xml
2020-02-10
pci-express3-device-architecture-optimizations-idf2009-presentation.pdf
2021-02-27
MPI, OpenMP, CUDA, OpenCL, OpenACC,
2018-06-03
Intel_ACPI_Low_Power_S0_Idle.pdf
2021-02-25
极简化的TCP/UDP测试工具-吞吐量
2020-07-22
Virtual Memory and Linux - AlanOtt.pdf
2020-11-10
Aarch64 Kernel Memory Management.pptx
2020-11-08
LKM:Linux Kernel Map(图解Linux内核)PDF,SVG,PNG格式
2020-11-01
The BSD Packet Filter A New Architecture for User-level Packet Capture.pdf
2020-10-30
XDP_DDoS_protecting_osd2017.pdf
2020-10-10
C语言如何从源函数中获取指向它的函数指针的地址
发表于 2020-05-21 最后回复 2020-06-15
Koma_Wong的留言板
发表于 2020-01-02 最后回复 2020-03-08
Linux“实时补丁”导致CPU无法占满运行
2021-02-22
C语言如何将字符串“int”转化为int类型
2019-01-09
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝