Linux 4.8亮点特性

源于https://kernelnewbies.org/Linux_4.8

1.支持页面缓存中使用透明大页
大页是指使用超过4K的页面(x86),当系统自动使用这些页面而无需用户干预时,我们称为”透明“。目前为止,Linux不支持在页面缓存中使用透明大页(备份文件系统数据的页面缓存)。此版本增加了(tmpfs/shmem)页面缓存中支持透明大页的使用(将来可能加入到其他文件系统)。
可以使用mount参数 huge= 在tmpfs中控制hugepage的分配策略。它的参数如下:
always,需要新页面时尝试分配大页;
never,永远不会分配大页;
within_size,如果在i_size以内,则分配大页,同时遵循fadvice()和madvise()的建议;
advise,遵循fadvice()和madvise()的建议使用大页;
同时也可以使用sysfs中/sys/kernel/mm/transparent_hugepage/shmem_enabled控制大页分配策略。

2.支持eXpress Data Path
XDP(eXpress Data Path)是Linux内核中一种高性能的、可编程的网络数据路径。XDP在数据包进入Linux协议栈之前进行处理,所以处理数据包更加快速。
它专为高性能、可编程性而涉及,可以应用在DOS攻击的缓解、转发和负载均衡、批处理技术等。
详情:https://lwn.net/Articles/682538/

3.XFS反向映射
XFS反向映射允许XFS精确跟踪磁盘特定块的所有者。它是由一组btree(每个分配组一个)实现,跟踪已经分配扩展区的所有者。
这种反向映射技术架构应用在reflink,写时复制数据,重复数据删除和数据清理等特性,可以向用户准确地报告坏块/数据丢失,以及应用在改进受损和损坏文件系统重建。

4.更加严格地检查(使用usercopy)内存拷贝
这个是从Grsecurity的PAX_USERCOPY移植的安全特性。在从内核复制内存是(通过copy_to_user()和copy_from_user()函数),它通过拒绝超过指定堆对象的内存范围、跨多个独立页面、不在进程栈内或者内核文本一部分的操作,排除堆溢出漏洞和内核内存泄露问题。

5.GCC插件支持
从Grsecurity移植的特性,支持使用GCC的插件。这些插件是可加载的编译器模块,运行时检测和静态分析,提高内核的安全性。目前这个版本支持两个插件:
sancov,辅助kcov功能的插件;
Cyclomatic,计算函数圈复杂度的插件;
详情:https://lwn.net/Articles/691102/

6.virtio-vsocks,用于客户端/主机更容易的通信
这个版本添加了virtio-vsock特性,提供AF_VSOCK套接字,允许客户端和主机中应用程序的通信。与virtio-serial不同,它支持POSIX套接字API,因此多个客户端可以同时连接到host端。设备具有自动分配地址功能,因为客户端无需进行任何(IP地址相关)配置。

7.新的Vegas TCP拥塞控制
详情:http://www.internalrequests.org/showconfirmpage/?url=http://www.brakmo.org/networking/tcp-nv/

8.Documentation文档切换reStructuredText格式
为了更加现代化,内核文档(编辑)将切换到Sphinx系统,使用reStructuredText语言。
这里写图片描述

猜你喜欢

转载自blog.csdn.net/cui841923894/article/details/82024107
4.8