Linux Kernel 5.8 将为 blk-mq 引入内联加密支持
为了提供更好的加密性能,目前谷歌工程师正在为 Linux 文件系统加密管理工具 fscrypt 添加内联加密支持。而与之相关的开发包括在 Linux 5.8 的块设备队列管理 blk-mq 中引入内联加密。
fscrypt 是用于 Linux 文件系统加密管理的高级工具,它管理元数据、密钥生成、密钥封装与 PAM 集成,并提供用于创建和修改加密目录的统一界面。fscrypt 的内核部分已集成到诸如 ext4 的文件系统中。
blk-mq 则是 Linux 的块设备层多队列机制,它将 Linux 内核存储栈中请求层的单队列改成多队列,理论上提升性能。
如果接下来 blk-mq 支持内联加密,那么它能够在存储栈中向下传递加密上下文,目前 Linux 内核源码 commit 中解释:我们必须通过某种方式让存储设备驱动程序知道它应该用于加密/解密请求的加密上下文。而上层(例如文件系统/fscrypt)知道情况并且管理加密上下文。这样,当上层提交 BIO 到块层,这个 BIO 最终到达的设备驱动程序支持内联加密,那么设备驱动程序则已经表明了 BIO 的加密上下文。
代码上具体改动是将 struct bio_crypt_ctx 添加到 struct bio 中,用来表示加密上下文,同时引入各种用于操作 bio_crypt_ctx 并使 bio/request 合并函数逻辑知晓 bio_crypt_ctx。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
上游 Linux 开发者反对
WireGuard 作者 Jason A. Donenfeld 上周向Linux 内核提交了一个补丁,他建议在使用新发布的 GCC 10 编译器或更高的版本时,将内核的默认编译优化级别由 -O2 设置为-O3。 Jason 解释道,GCC 10 对-O2 进行了改进,以便在使用-flto 时缩短编译时间,不过这似乎是以牺牲性能为代价来实现的。而现在的-O3 优化不存在和 10 年前同样的 bug,所以当 gcc >= 10 时,他提交的补丁会将 Linux 内核的编译优化默认设置为 -O3 级别。 对于这个提交,部分开发者表示有兴趣支持 -O3 优化级别的子集功能,甚至探索-Og 级别的优化,并努力缩短构建内核花费的时间,以便于测试。 不过总体看来,将内核默认编译优化级别设置为 -O3 的提案遭到了广泛的反对,因为这不一定会让内核变得更快,反而有可能会引入因优化而导致出现的特殊特性,甚至会产生让代码变得更慢的地方。 Linus Torvalds 也进行了表态,他不认为这是一个明智的想法,尤其是 GCC -O3 级别的优化有时会导致出现问题。 GCC 开发者 Richard Bie...
- 下一篇
阿里云ECS云服务器通用型g6和g5的区别以及选择建议
阿里云ECS云服务器通用型g6和g5的区别以及选择建议 阿里云ECS云服务器通用型g6和通用型g5实例有什么区别?通用型g5和g6都是用于性能均衡场景,CPU内存比都是1:4,赵一八笔记来说说通用型g6和通用型g5的区别以及选择方法:官方文档:云服务器ECS共享标准型S6实例 **ECS云服务器通用型g6和通用型g5有什么区别?**顾名思义,通用型g6是通用型g5的升级版,ECS云服务器通用型g6是第六代云服务器,性能全面提升的同时价格有所下调,如何选择?云E优站长博客建议选择通用型g6实例。 通用型g6云服务器是阿里云的第六代云服务器,第六代云服务器是基于第二代Intel至强可扩展处理器,睿频从上一代2.7Ghz提升到3.2Ghz,E2E计算性能有3-15%的提升;支持vnni指令集,对于深度学习的推理场景有2-4倍性能提升;虚拟化优化性能抖动,ping flood延时超过1ms的报文数<1/100万。 通用型g6和通用型g5区别对比表 综上,阿里云ECS云服务器通用型g6是通用型g5的升级版,性能有所提升,如何选择?新手站长网还是建议性价比放在第一位,虽然通用型g6是g5的升...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境