上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 64 下一页
摘要: 1.1 tcp_sendmsg 使用 TCP 发送数据的大部分工作都是在tcp_sendmsg函数中实现的。 int tcp_sendmsg(struct sock *sk, struct msghdr *msg, size_t size) { struct tcp_sock *tp = tcp_s 阅读全文
posted @ 2022-04-21 23:46 codestacklinuxer 阅读(103) 评论(0) 推荐(0) 编辑
摘要: rps的全称是Receive Package Steering,rfs的全称是Receive Flow Steering,rps和rfs是google的工程师提供的两个补丁,用以在软件层面实现报文在多个cpu之间的负载均衡以及提高报文处理的缓存命中率。rps和rfs出现的原因主要有以下两个: 1、 阅读全文
posted @ 2022-04-20 18:32 codestacklinuxer 阅读(153) 评论(0) 推荐(0) 编辑
摘要: 问题:某次共享内存计算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 阅读(113) 评论(0) 推荐(0) 编辑
摘要: SLUB分配一个object的流程分析 上篇文章已经说了性能瓶颈显示为slub,所以这篇文章来看看 转载: 在上一节 我们清晰的知道了当调用kmem_cache_create之后系统会为我们分配一个名为slub_test的一个slab。这时候只是分配了kmem_cache,kmem_cache_cp 阅读全文
posted @ 2022-04-06 17:19 codestacklinuxer 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 目前可以看出: 核心问题为:多线程fd close/open 以及 skb的slab_cache以及 slab_free fd close /open 所引发的的问题已经有相关解决办法;主要是slab_free这个? 内核的slab来自一种很简单的思想,即事先准备好一些会频繁分配,释放的数据结构。然 阅读全文
posted @ 2022-03-31 18:13 codestacklinuxer 阅读(17) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-03-29 15:14 codestacklinuxer 阅读(22) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-03-29 14:17 codestacklinuxer 阅读(61) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2022-03-29 12:42 codestacklinuxer 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 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 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 在内核中,顺序锁和读写锁比较相似,都是针对多读少写且快速处理的临界区的锁机制。 对于 rwlock 而言,rwlock的全称是"reader-writer spin lock",和普通的spinlock不同,它对"read"和"write"的操作进行了区分。如果当前没有writer,那么多个read 阅读全文
posted @ 2022-03-09 10:59 codestacklinuxer 阅读(7) 评论(0) 推荐(0) 编辑
上一页 1 ··· 19 20 21 22 23 24 25 26 27 ··· 64 下一页