FSCRYPT是Linux内核中的文件系统加密框架,用于支持EXT4、F2FS等文件系统上的可选加密。在Linux 6.10中,将进行优化,以增强在支持基于FSCRYPT的加密但文件未加密的文件系统上打开文件的性能。
作为迄今为止错过的优化,一个单独的新补丁正在弥补Linux 6.10的FSCRYPT更改。Mateusz Guzik在处理EXT4等支持FSCRYPT的文件系统上的未加密文件时发现了一个相当昂贵的疏忽。他在补丁中解释道:
“fscrypt:尽量避免在fscrypt_file_open中重新查找父数据
当使用ext4时,每次打开时都会只检查目录是否加密,此时会对父目录进行重新填充和取消填充,花费2个原子,并序列化不同文件的打开。
最常见的未使用加密的情况可以使用RCU进行检查。
open1_processes-t 20(“单独的文件打开/关闭”)的样本结果将在Sapphire Rapids上缩放(ops/s):
之前:12539898
之后:25575494(+103%)“
对于这些支持FSCRYPT加密但不一定使用的常见Linux文件系统来说,这大大提高了文件打开性能。
This file open performance optimization for unencrypted files on FSCRYPT-supported file-systems is merged via this pull request for the ongoing Linux 6.10 merge window.