Chinaunix首页 | 论坛 | 博客
  • 博客访问: 673658
  • 博文数量: 404
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1237
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-03 10:45
文章分类

全部博文(404)

文章存档

2017年(1)

2016年(27)

2015年(39)

2014年(55)

2013年(66)

2012年(216)

发布时间:2014-09-23 22:42:32

为什么很多著名开源服务器都会自己写一套内存管理器?如果老板要我优化架构,要不要考虑把malloc给废了?
本文将从malloc的实现原理入手,分析malloc的缺陷,以及为什么malloc对于大型服务器来说并不是一个好的选择
然后我们会给出内存管理器设计的一般原则,并通过代码进行验证
最后是一个我自己实现的适用于大型服务器的内存管理器,融合了内核slab算法和基于非连续内存块的变长内存算法,牺牲了部分可维护性以换取超高性能......【阅读全文】

阅读(728) | 评论(0) | 转发(0)

发布时间:2014-09-23 22:39:13

......【阅读全文】

阅读(913) | 评论(0) | 转发(0)

发布时间:2014-09-23 16:16:23

socket EINTR SA_RESTART Slow system call......【阅读全文】

阅读(1308) | 评论(0) | 转发(0)

发布时间:2014-09-10 10:02:34

内核数据结构贯穿于整个内核代码中,这里介绍4个基本的内核数据结构。利用这4个基本的数据结构,可以在编写内核代码时节约大量时间。主要内容:链表队列映射红黑树 1. 链表链表是linux内核中最简单,同时也是应用最广泛的数据结构。内核中定义的是双向链表。.........【阅读全文】

阅读(774) | 评论(0) | 转发(0)

发布时间:2014-09-10 09:56:24

kernel 3.10代码分析--ip_append_data--IP层提供的UDP和RAW socket的发包接口
基本原理
UDP发包流程中,当没有cork的情况下,会走过udp_sendmsg到达ip_append_data,该接口是IP层提供的UDP和RAW Socket的发包接口,同时,TCP中用于发送ACK和RST报文的接口ip_send_reply最终也会调用此接口
该接口的主要作用是:将数据拷贝到适合的skb(利用发送队列中现有的或新创建)中,可能有两种情况:
1)放入skb的线性区(skb->data)中;
2)或者放入skb_shared_info的分片(frag)中
另外,还需要考虑MTU对skb数据进行分割,为IP层的分片做准备。......【阅读全文】

阅读(793) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册