当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 1 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : [已放弃]让zswap的zsmalloc实现LRU,有什么思路?
帖子发表于 : 2016-05-15 5:14 

注册: 2013-05-26 6:58
帖子: 2158
系统: Debian 9
送出感谢: 894
接收感谢: 30
测试了一下,本以为zsmalloc凭借自己的高压缩率可以避免很多reject_compress_poor.
我还没写代码,但测试时发现reject_alloc_fail与reject_compress_poor不相上下.
压缩率的话zram中是30%~40%左右,和zbud也差不多.
虽然没能成功作出一些改进,但看了一些代码,我很满足

让zswap的zsmalloc实现LRU,有什么思路?
目前我的思路是在zswap.c里面利用zswap_entry和zswap_pool和内核提供的链表设施(rculist.h / list.h)来实现LRU
理由:
1.实现简单,如果从zsmalloc去实现的话,会经过更多层接口,我的挨个了解这些接口
2.在zsmalloc实现LRU的话,会增加zram的zpool元数据开销,但zram不需要LRU

缺点:
1.如果zpool类型是zbud的话就会导致LRU链表重复,额外增加开销
缺点1貌似可以通过设置单独链表,然后通过参数来解决
2.由于是直接修改了zswap,可能不利于兼容未来可能出现的新zpool_driver.(就像缺点1一样,LRU重复,或更糟的未知情况)


疑惑:
1.如果zswap的zsmalloc实现了LRU,zswap还需要去使用或兼容zbud吗?
2.zswap会创建多个zswap_pool?
zswap_pool里面的 list是干什么用的?
不像是为每个swap设备创建的样子,难道是我没看出来?


_________________
Linux桌面优化综合贴[2017.09.18](欢迎各位补充或指正误区)
[2016.03.10]会C语言但看不懂英文文档的点这里,一个用C语言编写的简陋学习工具
单硬盘通过iso文件实机安装Debian的方法
重启或操作fcitx时失去响应的一个解决方法,不妨试试看


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 1 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译