Re: [PATCH v3 0/6] Composefs: an opportunistically sharing verified image filesystem
From: Jingbo Xu
Date: Wed Feb 01 2023 - 07:40:03 EST
On 2/1/23 5:52 PM, Alexander Larsson wrote:
> On Wed, 2023-02-01 at 16:59 +0800, Jingbo Xu wrote:
>>
>> I redid the test with suggestion from Amir, with all files inside the
>> erofs layer are redirected to the same lower block, e.g.
>> "/objects/00/014430a0b489d101c8a103ef829dd258448a13eb48b4d1e9ff0731d1
>> e82b92".
>>
>> The result is shown in the fourth line.
>>
>> | uncached(ms)| cached(ms)
>> ----------------------------------|-------------|-----------
>> composefs (with digest) | 326 | 135
>> erofs (w/o -T0) | 264 | 172
>> erofs (w/o -T0) + overlayfs | 651 | 238
>> erofs (hacked and redirect to one | |
>> lower block) + overlayfs | 400 | 230
>>
>> It seems that the "lazy lookup" in overlayfs indeed optimizes in this
>> situation.
>>
>>
>> The performance gap in cached situation (especially comparing
>> composefs
>> and standalone erofs) is still under investigation and I will see if
>> there's any hint by perf diff.
>
> The fact that plain erofs is faster than composefs uncached, but slower
> cached is very strange. Also, see my other mail where erofs+ovl cached
> is slower than squashfs+ovl cached for me. Something seems to be off
> with the cached erofs case...
>
I tested erofs with ACL disabled (see fourth line).
| uncached(ms)| cached(ms)
----------------------------------|-------------|-----------
composefs (with digest) | 326 | 135
squashfs (uncompressed) | 406 | 172
erofs (w/o -T0) | 264 | 172
erofs (w/o -T0, mount with noacl) | 225 | 141
The remained perf difference in cached situation might be noisy and may
be due to the difference of test environment.
--
Thanks,
Jingbo