<div style="min-height:22px;margin-bottom:8px;">好的</div><div style="min-height:22px;margin-bottom:8px;"><br></div><div style="min-height:22px;margin-bottom:8px;">B.R</div><div id="original-content"><br><div><div style="font-size:70%;padding:2px 0;">------------------ 原始邮件 ------------------</div><div style="font-size:70%;background:#f0f0f0;color:#212121;padding:8px;border-radius:4px"><div><b>发件人:</b> Gao Xiang <gaoxiang25@huawei.com></div><div><b>发送时间:</b> 2019年7月18日 15:22</div><div><b>收件人:</b> ZHOU <353779207@qq.com></div><div><b>抄送:</b> Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org></div><div><b>主题:</b> 回复:回复:回复:回复:回复:回复:eros性能问题</div></div></div><br><br><br>On 2019/7/18 15:13, ZHOU wrote:<br>> Dear Gao xiang,<br>> 通过fio测试,发现跟cpu调度有关系,默认调频策略下erofs速率慢于ext4。将调频策略调整到performance 模式,此时erofs速率较ext4快一些,<br><br><br>这个确实很奇怪,是不是erofs的不压缩模式的逻辑比较简单cpu loading不重,不会触发<br>android的CPU调频,而其他文件系统由于逻辑比较复杂容易触发CPU调频,是否可以深入<br>研究一下共享下结果。<br><br><br>但不多。另外,在pc上用lz4对测试文件进行压缩,发现几乎不可压缩,应该是测试文件选择上也有问题。后续使用具有较大压缩性的测试文件进行再测试。<br>> <br>> Thanks<br>> B.R<br>> <br>> <br>> ------------------ 原始邮件 ------------------<br>> *发件人:* Gao Xiang <gaoxiang25@huawei.com><br>> *发送时间:* 2019年7月18日 11:56<br>> *收件人:* ZHOU <353779207@qq.com><br>> *抄送:* Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org><br>> *主题:* 回复:回复:回复:回复:回复:eros性能问题<br>> <br>> <br>> <br>> On 2019/7/18 11:53, ZHOU wrote:<br>>> iozone 改动很小,只是在open时选用O_RDONLY, 然后启用-+E选项使用独立的文件做只读测试<br>> <br>> 总之你先拿fio用新增独立分区(保证相同的LBA)测一下不压缩?这种不压缩的情况让我很疑惑,<br>> 也觉得没任何必要去进一步解释,你的文件有什么特殊的吗?<br>> <br>>><br>>> 感谢支持<br>>> B.R<br>>><br>>><br>>><br>>><br>>><br>>><br>>> ------------------ 原始邮件 ------------------<br>>> *发件人:* Gao Xiang <gaoxiang25@huawei.com><br>>> *发送时间:* 2019年7月18日 11:46<br>>> *收件人:* ZHOU <353779207@qq.com><br>>> *抄送:* Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org><br>>> *主题:* 回复:回复:回复:回复:eros性能问题<br>>><br>>><br>>><br>>> On 2019/7/18 11:39, ZHOU wrote:<br>>>> 好的,该config CONFIG_EROFS_FS_ZIP_CACHE_BIPOLAR 已经启用了的。<br>>>> 测试时选用同一台设备,分区一致,使用loop方式erofs跟ext4差不多,我再仔细检查一下LBA。<br>>><br>>> loop方式意义不大,不知道iozone你怎么改的,也不知道你们的内核是否对ext4有改动,<br>>> 我觉得你可以先拿标准的fio测一下,不需要做任何修改,mkfs有必要也建议使用原始代码,通过新增分区做测试。<br>>><br>>>><br>>>> 谢谢给出的建议<br>>>><br>>>> B.R<br>>>><br>>>><br>>>><br>>>><br>>>><br>>>> ------------------ 原始邮件 ------------------<br>>>> *发件人:* Gao Xiang <gaoxiang25@huawei.com><br>>>> *发送时间:* 2019年7月18日 11:28<br>>>> *收件人:* ZHOU <353779207@qq.com><br>>>> *抄送:* Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org><br>>>> *主题:* 回复:回复:回复:eros性能问题<br>>>><br>>>><br>>>><br>>>> On 2019/7/18 11:24, ZHOU wrote:<br>>>>> 是的 看代码流程erofs更简洁 不应该出现性能恶化的问题 另外在做xattr时,我没有启用share的方式,这在android上应该不会影响到性能吧,因为在读security属性后会缓存到kernel中<br>>>><br>>>> 没有,我觉得你们先排查下自己测试的情况(比如是否跟android内核的调度因素有关),你们可以加log排查,<br>>>> 另外建议测试使用相同的LBA区域并且避免测试前写入其他热数据(最好是flash到相同的LBA后直接测试),<br>>>> 随机读不压缩不应该是你说的情况。压缩的数据config需要开启CONFIG_EROFS_FS_ZIP_CACHE_BIPOLAR<br>>>><br>>>>><br>>>>> B.R<br>>>>><br>>>>><br>>>>> ------------------ 原始邮件 ------------------<br>>>>> *发件人:* Gao Xiang <gaoxiang25@huawei.com><br>>>>> *发送时间:* 2019年7月18日 11:19<br>>>>> *收件人:* ZHOU <353779207@qq.com><br>>>>> *抄送:* Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org><br>>>>> *主题:* 回复:回复:eros性能问题<br>>>>><br>>>>><br>>>>><br>>>>> On 2019/7/18 11:15, ZHOU wrote:<br>>>>>> Dear xiang,<br>>>>>> 没有启用directIO,<br>>>>>> 好的,我尝试一下您提供的测试方法。<br>>>>><br>>>>> 至少对于不压缩的情况,难以理解随机读有差异。<br>>>>><br>>>>> 谢谢。<br>>>>><br>>>>>><br>>>>>> 非常感谢<br>>>>>><br>>>>>><br>>>>>> ------------------ 原始邮件 ------------------<br>>>>>> *发件人:* Gao Xiang <gaoxiang25@huawei.com><br>>>>>> *发送时间:* 2019年7月18日 11:10<br>>>>>> *收件人:* ZHOU <353779207@qq.com><br>>>>>> *抄送:* Miao Xie <miaoxie@huawei.com>, linux-erofs <linux-erofs@lists.ozlabs.org><br>>>>>> *主题:* 回复:eros性能问题<br>>>>>><br>>>>>><br>>>>>><br>>>>>> On 2019/7/18 10:54, Gao Xiang wrote:<br>>>>>>>> 放入erofs中,测试命令为:./iozone -i 2 -s 300m -r 4k -+E -w -f ./vendor/tmp_file<br>>>>>>> 我不清楚这个代表什么意思,是否有对应的fio的命令。<br>>>>>>><br>>>>>><br>>>>>> 另外,我们建议的随机读pattern(也是我们测试关注的)是<br>>>>>> echo 3 > /proc/sys/vm/drop_caches<br>>>>>> ./fio --readonly -rw=randread -size=100% -bs=4k -name=job1<br>>>>>><br>>>>>> 因为绝大多数应用没有direct I/O请求,没有direct I/O读路径,短期没有direct I/O支持计划,<br>>>>>> 也不建议使用direct I/O测试性能。<br></div>