分类: 计算机

计算机相关的内容

43 篇文章

新站点
新站点:https://da1234cao.atlassian.net/wiki/spaces/share/
telegraf 简介
前言 网路场景中,为了极致的压榨性能,会选用 DPDK 这类 kernal bypass 机制:DPDK and Kernel Bypass: When Microseconds Matter More Than Your Sanity - The Internet Papers 性能提升是实实在在的。我们谈论的是在现代硬件上每秒处理 1000 万…
__builtin_prefetch 函数简介
前言 在高性能的网络转发中,比如 vpp/dpdk,通常对数据包采用批处理。批处理有很多好处:上下文的切换成本,会分摊给每一个数据包;CPU能一次性,将多个数据包所需的数据,加载到高速缓存中处理,减少了等待数据从主内存读取的次数,从而极大提升效率。 本文介绍,预取函数 __builtin_prefetch 。介绍它的使用和作用机理。 然后,做一个预…
性能敏感程序的编程注意事项
前言 网络场景的代码,对性能,比较敏感。 在编写性能敏感的代码,还是要有所留意。 下面的内容参考自:1. Performance Optimization Guidelines — Data Plane Development Kit 25.11 Writing Efficient Code 内存 尽量不要在数据面,进行字符串的拷贝拼接。 字符串的…
vpp 中 barrier 介绍 — 随笔
前言 vpp 的线程类型,可以分为控制面线程(vpp_main),和数据面线程(vpp_wk) root@localhost ~/w/3/vpp-upstream (master)# pidof vpp 2284230 root@localhost ~/w/3/vpp-upstream (master)# pidstat -t -p 2284230…
MPSC lock-free ring buffer的使用与分析
前言 多生产者多消费者(multiple-producer,multiple-consumer) 的无锁(lock-free)环形缓冲区(ring-buffer),有其特定的使用场景。 在一些高性能场景下,锁是绝对不能使用的。不仅锁不能使用,为了避免 cache miss,每个工作线程会选择使用 per-thread data方式,进行数据读取与写…
SELinux简介
前言 SELinux 是强制访问控制(Mandatory Access Control, MAC)的一种实现,提供了额外的安全层。SELinux 策略定义了用户和进程如何与系统中的文件进行交互。 SELinux fundamentally answers the question: May <subject> do <action> t…
tproxy 简介
前言 我们在校园或者图书馆,会连接一些公共网络。在连接后,初次访问访问网络时,浏览器会自动跳转到一个登陆页面。这背后的原理嘛,不知道。 本文,将有个类似的实现。当访问任意一个地址的 80 端口时,这个访问将被劫持,并返回一个自定义的界面。这里,是为了感受下 tproxy(transparent proxy,透明代理) 的使用。 接着,我们将从内核源…
vmware中的perf报错
问题描述 主机:AMD Ryzen 5 6600H with Radeon Graphics windows 版本:windows11 24H2 vmware 版本:Workstation 17 Pro 17.6.3 vmware 中的虚拟机:Rocky Linux 9.5 perf 版本:perf version 5.14.0-570.33.2.…
nftables的简单使用
前言 平时在工作中,接触到的还基本是 iptables 。 nftables 是 iptables的继任者。自 Linux 内核 3.13 开始,nftables即得到了支持,现在已经挺成熟的了。 所以,在日常工作中,当遇到需要 iptables的时候,或许应该优先使用 nftables。 关于 nftables的使用文档可参考:nftables …