会员
周边
新闻
博问
闪存
众包
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
坐看云起时
乘风好去,长空万里,直下看山河!!! 研究过httpserver、nginx、内核tcpip协议栈源码,内存管理 、摄像头-iic-spi等驱动!! 目前搞搞准入 看看内核 看看身份逻辑 看看管控 写写go
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
25
26
27
28
29
30
31
32
33
···
70
下一页
2022年4月20日
转载Linux中rps/rfs的原理及实现
摘要: rps的全称是Receive Package Steering,rfs的全称是Receive Flow Steering,rps和rfs是google的工程师提供的两个补丁,用以在软件层面实现报文在多个cpu之间的负载均衡以及提高报文处理的缓存命中率。rps和rfs出现的原因主要有以下两个: 1、
阅读全文
posted @ 2022-04-20 18:32 codestacklinuxer
阅读(536)
评论(0)
推荐(0)
2022年4月7日
drop_cache引发的一个问题
摘要: 问题:某次共享内存计算key值时,发现文件的inode在变化, 到底是什么原因导致的呢?最后发现是echo 3 > /proc/sys/vm/drop_caches导致的!! https://time.geekbang.org/column/article/278222?utm_source=rel
阅读全文
posted @ 2022-04-07 15:00 codestacklinuxer
阅读(292)
评论(0)
推荐(0)
2022年4月6日
SLUB分配一个object的流程分析
摘要: SLUB分配一个object的流程分析 上篇文章已经说了性能瓶颈显示为slub,所以这篇文章来看看 转载: 在上一节 我们清晰的知道了当调用kmem_cache_create之后系统会为我们分配一个名为slub_test的一个slab。这时候只是分配了kmem_cache,kmem_cache_cp
阅读全文
posted @ 2022-04-06 17:19 codestacklinuxer
阅读(149)
评论(0)
推荐(0)
2022年3月31日
线上问题的一次锁思考
摘要: 目前可以看出: 核心问题为:多线程fd close/open 以及 skb的slab_cache以及 slab_free fd close /open 所引发的的问题已经有相关解决办法;主要是slab_free这个? 内核的slab来自一种很简单的思想,即事先准备好一些会频繁分配,释放的数据结构。然
阅读全文
posted @ 2022-03-31 18:13 codestacklinuxer
阅读(29)
评论(0)
推荐(0)
2022年3月29日
PCPU路由缓存
摘要: 路由查找 与IPv4不同,IPv6的出口路由和入口路由都使用函数ip6_pol_route实现,区别在于传入的接口索引参数不同 INDIRECT_CALLABLE_SCOPE struct rt6_info *ip6_pol_route_input(struct net *net, struct f
阅读全文
posted @ 2022-03-29 15:14 codestacklinuxer
阅读(43)
评论(0)
推荐(0)
IPv6路由节点查找
摘要: 路由表查找函数首先调用fib6_node_lookup查找路由节点,由指定路由表的根节点开始,根据数据流的目的和源地址进行。 static struct fib6_node *fib6_lookup_1(struct fib6_node *root, struct lookup_args *args
阅读全文
posted @ 2022-03-29 14:17 codestacklinuxer
阅读(85)
评论(0)
推荐(0)
ipv6 路由思考
摘要: 目前在解决ipv6 路由bug的时候发现,内核ipv6 和ipv4 路由设计区别很大! IPv6路由项添加 ip route add 3ffe::/64 via 3001::1 对应的核心函数为: fib6_add_1 :负责在路由树中找到合适的插入节点,或者创建新的用于插入操作的节点(根据allo
阅读全文
posted @ 2022-03-29 12:42 codestacklinuxer
阅读(72)
评论(0)
推荐(0)
2022年3月16日
clock_gettime gettimeofday time_t tm
摘要: 1、常用的时间存储方式 1)time_t类型,这本质上是一个长整数,表示从1970-01-01 00:00:00到目前计时时间的秒数,如果需要更精确一点的,可以使用timeval精确到毫秒。 2)tm结构,这本质上是一个结构体,里面包含了各时间字段 struct tm { int tm_sec; /
阅读全文
posted @ 2022-03-16 20:06 codestacklinuxer
阅读(91)
评论(0)
推荐(0)
2022年3月9日
顺序锁替换读写锁
摘要: 在内核中,顺序锁和读写锁比较相似,都是针对多读少写且快速处理的临界区的锁机制。 对于 rwlock 而言,rwlock的全称是"reader-writer spin lock",和普通的spinlock不同,它对"read"和"write"的操作进行了区分。如果当前没有writer,那么多个read
阅读全文
posted @ 2022-03-09 10:59 codestacklinuxer
阅读(52)
评论(0)
推荐(0)
2022年3月7日
FIB nexthop Exception是什么
摘要: 转载自: 理论 3.6版本内核移除了FIB查询前的路由缓存,取而代之的是下一跳缓存,这在路由缓存的前世今生 中已经说过了。本文要说的是在该版本中引入的另一个概念:FIB Nexthop Exception,用于记录下一跳的例外情形。 它有什么用呢? 内核通过查询转发信息表(fib_lookup),得
阅读全文
posted @ 2022-03-07 20:25 codestacklinuxer
阅读(53)
评论(0)
推荐(0)
上一页
1
···
25
26
27
28
29
30
31
32
33
···
70
下一页