399 Star 1.4K Fork 1.3K

GVPopenEuler / kernel

 / 详情

[OLK-5.10] 引入extfuse特性以支持用户态文件系统加速

已完成
任务
创建于  
2022-01-05 11:15

[OLK-5.10] 引入extfuse特性以支持用户态文件系统加速
背景:
用户文件系统与其内核实现相比具有许多优势,例如易于开发和更好的系统可靠性。基于fuse可以很容易实现posix兼容的文件系统开发。然而,用户态文件系统在性能方面的劣势也是比较明显的,例如:频繁的内核态用户态切换,以及数据的多次用户态和内核态拷贝开销。这些对性能损失在基于低速磁盘设备的文件系统或基于低速网络的文件系统来说没有太大影响,但是随着RDMA和高速介质的发展,fuse本身的开销在整体IO开销的占比变得越来越重,这就严重影响了用户态文件系统在更多方面的应用。

实现思路:
extfuse结合ebpf技术,在fuse.ko的读写IO处实现用户态和内核态都可以看到的缓存,通过该缓存来减少 内核态和用户态切换开销 和 数据在内核态和用户态拷贝的开销。从而提升基于fuse的用户态文件系统的性能。

其他说明:
要实现该功能需要涉及两处修改:

  1. 内核态增加特性支持,这部分修改由特性宏开关和mount选项控制,对fuse.ko本身修改量比较少,增加了独立文件进行隔离。
  2. 用户态引入extfuse包,已通过community的评审,pr已合入,待内核合入后进行包的初始化:https://gitee.com/openeuler/community/pulls/3075
  3. fuse3用户包,这部分已经提issue跟踪,待内核合入后进行合入,pr:#I4PF3L:【master|openeEuler-22.03-LTS-Next】支持extfuse特性

评论 (2)

liuzhiqiang 创建了任务

Hi liuzhiqiang26, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: Kernel, and any of the maintainers: @成坚 (CHENG Jian) , @Qiuuuuu , @zhengzengkai , @gogooo , @pi3orama , @Xie XiuQi , @YangYingliang

openeuler-ci-bot 添加了
 
sig/Kernel
标签
liuzhiqiang 关联分支设置为OLK-5.10
zhengzengkai 通过src-openeuler/kernel Pull Request !500任务状态待办的 修改为已完成

诚邀Issue的创建人,负责人,协作人以及评论人对此次Issue解决过程给予评价:

   0   1   2   3   4   5   6   7   8   9   10  

 不满意                        非常满意

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(3)
5329419 openeuler ci bot 1632792936 9968373 openeuler survey bot 1637036855 5592035 liuzhiqiang26 1594357385
C
1
https://gitee.com/openeuler/kernel.git
git@gitee.com:openeuler/kernel.git
openeuler
kernel
kernel

搜索帮助