LINUX内核发展追踪
文章平均质量分 51
qixuan.wu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux内核追踪[4.3] Ext3的终结
在4.3内核,有可能会合入一个patch:删除ext3文件系统。由于ext3只是ext4的子集,而且从mount的接口上ext4也做了兼容,用户可以完全不感知ext3文件系统已经被删除了。遇到问题,maintainer会继续支持和解决。用户不需要把自己的文件系统升级到ext4格式上。 之所以保留ext2是因为,ext2文件系统非常小,只有10000行代码,因此它与ext4重叠的部分是比较稳定原创 2017-10-24 22:14:47 · 358 阅读 · 0 评论 -
Linux内核追踪[4.13] AIO的非阻塞优化
AIO被人诟病得较多的是一些读写操作,会经常由于某些条件而阻塞,做不到真正的异步IO。io_submit中会将kiocb->ki_flags成员的IOCB_NOWAIT。之后在FS层(如ext4/xfs/btrfs)和PageCache层,遇到kiocb->ki_flags成员的IOCB_NOWAIT flag在BIO层被转换为了REQ_NOWAIT flag,在遇到该标志且有阻塞时,返回EA原创 2017-10-24 22:17:32 · 1224 阅读 · 0 评论 -
Linux内核追踪[4.13] Blk层的出错处理优化
之前的版本在IO软件栈中存在着错误信息不能很好地返回FS层或者用户态APP的情况,4.13版本优化了两个场景的错误处理。(参考: https://lwn.net/Articles/724307/)一、Reporting writeback errors 一个场景和异步写相关。之前的版本,由后台线程进行writeback出错时,只能通过提交write的那个task进行f原创 2017-10-24 22:32:54 · 955 阅读 · 0 评论 -
Linux内核追踪[4.13] Linux Kernel TLS
内核的4.13版本实现了一个TLS功能(根据 RFC 5288),google员工Dave Watson受到FreeBSD的Netflix的项目启发(FreeBSD网络很强大啊),实现这个功能的初衷是为了优化tls应用协议的性能(略微有一些,作者实测是2-7%)。据他说,google内部的网络协议80%是通过tls加密的。有了这个功能之后,http在用户态不需要加密,只需要纯的http,在内核态封原创 2017-10-24 22:38:16 · 1125 阅读 · 0 评论 -
Linux内核追踪[4.11] perf ftrace
4.11在perf中实现了一个ftrace的功能,其实就是把ftrace的功能集成在perf工具中进行显示。由于原先操作debugfs的接口还是要操作几个文件来配合使用的,比如: a) 设置/sys/kernel/debug/tracing/current_tracer。 b) 打开开关/sys/kernel/debug/tracing/tracing_on。原创 2017-10-26 00:17:09 · 1857 阅读 · 0 评论 -
Linux内核追踪[4.14] X86的5级页表管理
X86的4级页表已经能够管理48bit(256TB)的VA,以及64TB的PA。不过由于某些供应商发布了超过64T的超大物理内存,因此需要实现了一个5级页表特性来进行支持。下面是原来4级页表的48bitVA地址空间,原先的X64芯片规定,高8位永远与第48bit(从0开始算即47bit)相同。因此从硬件上只使用4级页表。原创 2017-11-15 21:52:17 · 2974 阅读 · 0 评论 -
Linux内核追踪[4.14] 网络报文send的ZERO-COPY(零拷贝)
ZERO-COPY对于有性能要求的大数据报文的网络应用来说是一个比较好的优化思路。在之前的内核中,ZERO-COPY只发生在sendfile、splice接口中。send接口无法做到ZERO-COPY。因此通用send 接口进行大报文发送的应用性能仍然有提升空间。原创 2017-11-21 00:16:59 · 2605 阅读 · 0 评论 -
Linux内核追踪[3.14] 用户态死锁检测--UserMode lockdep
想必大家都用过内核态的lockdep,它有死锁预测的功能。能够在运行态动态地去识别一些潜在的、发生概率较小的(也许一辈子都很难碰到)死锁风险。目前有人把它移植到了用户,并加入到内核主线($root/tools/lib/lockdep) 笔者这里想讲的是它的“移植”方法非常得巧妙,请看看$root/tools/lib/lockdep/lockdep.c的主体函数:#incl原创 2017-10-24 22:11:16 · 1120 阅读 · 0 评论
分享