Linux-EROFS Archive on lore.kernel.org
 help / color / Atom feed
* Problem in EROFS: Not able to read the files after mount
@ 2020-01-20  6:55 Saumya Panda
  2020-01-20  7:41 ` Gao Xiang via Linux-erofs
  0 siblings, 1 reply; 7+ messages in thread
From: Saumya Panda @ 2020-01-20  6:55 UTC (permalink / raw)
  To: linux-erofs

[-- Attachment #1: Type: text/plain, Size: 1640 bytes --]

Hi Experts,
   I am testing EROFS in openSuse(Kernel: 5.4.7-1-default). I used the
enwik8 and enwik9 as source file (
https://cs.fit.edu/~mmahoney/compression/textdata.html) for compression.
But after I mount the erofs image, I am not able to read it (it is saying
operation not permitted). Simple "ls" command is not working. But if I
create EROFS image without compression flag, then after mount I am able to
read the files. Seems there is some problem during compression.

I will appreciate if someone can help me out why this is happening.

Steps followed:
*Erofs image creation & mount: *
mkfs.erofs -zlz4hc enwik8.erofs.img enwik8/
mkfs.erofs 1.0
        c_version:           [     1.0]
        c_dbg_lvl:           [       0]
        c_dry_run:           [       0]
mount enwik8.erofs.img /mnt/enwik8/ -t erofs -o loop

ls -l /mnt/enwik8/
ls: cannot access '/mnt/enwik8/enwik8': Operation not supported
total 0
-????????? ? ? ? ?            ? enwik8

The problem seen for both lz4 & lz4hc.

*Erofs image creation & mount without compression: *
mkfs.erofs  enwik8_nocomp.erofs.img enwik8/
mkfs.erofs 1.0
        c_version:           [     1.0]
        c_dbg_lvl:           [       0]
        c_dry_run:           [       0]

mount enwik8_nocomp.erofs.img /mnt/enwik8_nocomp/ -t erofs -o loop

ls -l /mnt/enwik8_nocomp/
total 97660
-rw-r--r-- 1 root root 100000000 Jan 20 01:27 enwik8

*Original enwik8 file:*
ls -l enwik8
total 97660
-rw-r--r-- 1 root root 100000000 Jan 20 01:14 enwik8

*Source code used for Lz4 and Erofs utils:*
https://github.com/hsiangkao/erofs-utils
https://github.com/lz4/lz4

-- 
Thanks,
Saumya Prakash Panda

[-- Attachment #2: Type: text/html, Size: 2475 bytes --]

<div dir="ltr"><div>Hi Experts, <br></div><div>   I am testing EROFS in openSuse(Kernel: 5.4.7-1-default). I used the enwik8 and enwik9 as source file  (<a href="https://cs.fit.edu/~mmahoney/compression/textdata.html">https://cs.fit.edu/~mmahoney/compression/textdata.html</a>) for compression. But after I mount the erofs image, I am not able to read it (it is saying operation not permitted). Simple &quot;ls&quot; command is not working. But if I create EROFS image without compression flag, then after mount I am able to read the files. Seems there is some problem during compression. <br></div><div><br></div><div>I will appreciate if someone can help me out why this is happening.<br></div><div><br></div><div>Steps followed: <br></div><div><u>Erofs image creation &amp; mount: </u><br></div><div>mkfs.erofs -zlz4hc enwik8.erofs.img enwik8/</div><div>mkfs.erofs 1.0<br>        c_version:           [     1.0]<br>        c_dbg_lvl:           [       0]<br>        c_dry_run:           [       0]<br></div><div>mount enwik8.erofs.img /mnt/enwik8/ -t erofs -o loop</div><div><br></div><div>ls -l /mnt/enwik8/<br>ls: cannot access &#39;/mnt/enwik8/enwik8&#39;: Operation not supported<br>total 0<br>-????????? ? ? ? ?            ? enwik8<br></div><div><br></div><div>The problem seen for both lz4 &amp; lz4hc. <br></div><div><br></div><div><u>Erofs image creation &amp; mount without compression: </u></div><div>mkfs.erofs  enwik8_nocomp.erofs.img enwik8/<br>mkfs.erofs 1.0<br>        c_version:           [     1.0]<br>        c_dbg_lvl:           [       0]<br>        c_dry_run:           [       0]</div><div><br></div><div>mount enwik8_nocomp.erofs.img /mnt/enwik8_nocomp/ -t erofs -o loop</div><div><br></div><div>ls -l /mnt/enwik8_nocomp/<br>total 97660<br>-rw-r--r-- 1 root root 100000000 Jan 20 01:27 enwik8</div><div><br></div><div><div><u>Original enwik8 file:</u><br></div><div>ls -l enwik8<br>total 97660<br>-rw-r--r-- 1 root root 100000000 Jan 20 01:14 enwik8</div></div><div><br></div><div><u>Source code used for Lz4 and Erofs utils:</u><br></div><div><a href="https://github.com/hsiangkao/erofs-utils">https://github.com/hsiangkao/erofs-utils</a></div><div><a href="https://github.com/lz4/lz4">https://github.com/lz4/lz4</a></div><div><br>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Thanks,<br>Saumya Prakash Panda<br><br></div></div></div>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-20  6:55 Problem in EROFS: Not able to read the files after mount Saumya Panda
@ 2020-01-20  7:41 ` Gao Xiang via Linux-erofs
  2020-01-22  3:57   ` Saumya Panda
  0 siblings, 1 reply; 7+ messages in thread
From: Gao Xiang via Linux-erofs @ 2020-01-20  7:41 UTC (permalink / raw)
  To: Saumya Panda; +Cc: linux-erofs

Hi Saumya,

On Mon, Jan 20, 2020 at 12:25:15PM +0530, Saumya Panda wrote:
> Hi Experts,
>    I am testing EROFS in openSuse(Kernel: 5.4.7-1-default). I used the
> enwik8 and enwik9 as source file (
> https://cs.fit.edu/~mmahoney/compression/textdata.html) for compression.
> But after I mount the erofs image, I am not able to read it (it is saying
> operation not permitted). Simple "ls" command is not working. But if I
> create EROFS image without compression flag, then after mount I am able to
> read the files. Seems there is some problem during compression.
> 
> I will appreciate if someone can help me out why this is happening.

Could you please check if your opensuse kernel has been enabled
the following configuration?

CONFIG_EROFS_FS_ZIP=y
CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1

By default, they should be enabled, but it seems not according to
the following information you mentioned.

Thanks,
Gao Xiang

> 
> Steps followed:
> *Erofs image creation & mount: *
> mkfs.erofs -zlz4hc enwik8.erofs.img enwik8/
> mkfs.erofs 1.0
>         c_version:           [     1.0]
>         c_dbg_lvl:           [       0]
>         c_dry_run:           [       0]
> mount enwik8.erofs.img /mnt/enwik8/ -t erofs -o loop
> 
> ls -l /mnt/enwik8/
> ls: cannot access '/mnt/enwik8/enwik8': Operation not supported
> total 0
> -????????? ? ? ? ?            ? enwik8
> 
> The problem seen for both lz4 & lz4hc.
> 
> *Erofs image creation & mount without compression: *
> mkfs.erofs  enwik8_nocomp.erofs.img enwik8/
> mkfs.erofs 1.0
>         c_version:           [     1.0]
>         c_dbg_lvl:           [       0]
>         c_dry_run:           [       0]
> 
> mount enwik8_nocomp.erofs.img /mnt/enwik8_nocomp/ -t erofs -o loop
> 
> ls -l /mnt/enwik8_nocomp/
> total 97660
> -rw-r--r-- 1 root root 100000000 Jan 20 01:27 enwik8
> 
> *Original enwik8 file:*
> ls -l enwik8
> total 97660
> -rw-r--r-- 1 root root 100000000 Jan 20 01:14 enwik8
> 
> *Source code used for Lz4 and Erofs utils:*
> https://github.com/hsiangkao/erofs-utils
> https://github.com/lz4/lz4
> 
> -- 
> Thanks,
> Saumya Prakash Panda

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-20  7:41 ` Gao Xiang via Linux-erofs
@ 2020-01-22  3:57   ` Saumya Panda
  2020-01-22  4:37     ` Gao Xiang via Linux-erofs
  0 siblings, 1 reply; 7+ messages in thread
From: Saumya Panda @ 2020-01-22  3:57 UTC (permalink / raw)
  To: Gao Xiang; +Cc: linux-erofs

[-- Attachment #1: Type: text/plain, Size: 2888 bytes --]

Hi Gao,
  Thanks for the info. After I enabled the said configuration, I am now
able to read the files after mount. But I am seeing Squashfs has better
compression ratio compared to Erofs (more than 60% than that of Erofs). Am
I missing something? I used lz4hc while making the Erofs image.

ls -l enwik*
-rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img
-rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh
-rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img
-rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh

On Mon, Jan 20, 2020 at 1:11 PM Gao Xiang <hsiangkao@aol.com> wrote:

> Hi Saumya,
>
> On Mon, Jan 20, 2020 at 12:25:15PM +0530, Saumya Panda wrote:
> > Hi Experts,
> >    I am testing EROFS in openSuse(Kernel: 5.4.7-1-default). I used the
> > enwik8 and enwik9 as source file (
> > https://cs.fit.edu/~mmahoney/compression/textdata.html) for compression.
> > But after I mount the erofs image, I am not able to read it (it is saying
> > operation not permitted). Simple "ls" command is not working. But if I
> > create EROFS image without compression flag, then after mount I am able
> to
> > read the files. Seems there is some problem during compression.
> >
> > I will appreciate if someone can help me out why this is happening.
>
> Could you please check if your opensuse kernel has been enabled
> the following configuration?
>
> CONFIG_EROFS_FS_ZIP=y
> CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1
>
> By default, they should be enabled, but it seems not according to
> the following information you mentioned.
>
> Thanks,
> Gao Xiang
>
> >
> > Steps followed:
> > *Erofs image creation & mount: *
> > mkfs.erofs -zlz4hc enwik8.erofs.img enwik8/
> > mkfs.erofs 1.0
> >         c_version:           [     1.0]
> >         c_dbg_lvl:           [       0]
> >         c_dry_run:           [       0]
> > mount enwik8.erofs.img /mnt/enwik8/ -t erofs -o loop
> >
> > ls -l /mnt/enwik8/
> > ls: cannot access '/mnt/enwik8/enwik8': Operation not supported
> > total 0
> > -????????? ? ? ? ?            ? enwik8
> >
> > The problem seen for both lz4 & lz4hc.
> >
> > *Erofs image creation & mount without compression: *
> > mkfs.erofs  enwik8_nocomp.erofs.img enwik8/
> > mkfs.erofs 1.0
> >         c_version:           [     1.0]
> >         c_dbg_lvl:           [       0]
> >         c_dry_run:           [       0]
> >
> > mount enwik8_nocomp.erofs.img /mnt/enwik8_nocomp/ -t erofs -o loop
> >
> > ls -l /mnt/enwik8_nocomp/
> > total 97660
> > -rw-r--r-- 1 root root 100000000 Jan 20 01:27 enwik8
> >
> > *Original enwik8 file:*
> > ls -l enwik8
> > total 97660
> > -rw-r--r-- 1 root root 100000000 Jan 20 01:14 enwik8
> >
> > *Source code used for Lz4 and Erofs utils:*
> > https://github.com/hsiangkao/erofs-utils
> > https://github.com/lz4/lz4
> >
> > --
> > Thanks,
> > Saumya Prakash Panda
>


-- 
Thanks,
Saumya Prakash Panda

[-- Attachment #2: Type: text/html, Size: 4074 bytes --]

<div dir="ltr"><div>Hi Gao,</div><div>  Thanks for the info. After I enabled the said configuration, I am now able to read the files after mount. But I am seeing Squashfs has better compression ratio compared to Erofs (more than 60% than that of Erofs). Am I missing something? I used lz4hc while making the Erofs image. <br></div><div><br></div><div>ls -l enwik*<br>-rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img<br>-rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh<br>-rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img<br>-rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jan 20, 2020 at 1:11 PM Gao Xiang &lt;<a href="mailto:hsiangkao@aol.com">hsiangkao@aol.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Saumya,<br>
<br>
On Mon, Jan 20, 2020 at 12:25:15PM +0530, Saumya Panda wrote:<br>
&gt; Hi Experts,<br>
&gt;    I am testing EROFS in openSuse(Kernel: 5.4.7-1-default). I used the<br>
&gt; enwik8 and enwik9 as source file (<br>
&gt; <a href="https://cs.fit.edu/~mmahoney/compression/textdata.html" rel="noreferrer" target="_blank">https://cs.fit.edu/~mmahoney/compression/textdata.html</a>) for compression.<br>
&gt; But after I mount the erofs image, I am not able to read it (it is saying<br>
&gt; operation not permitted). Simple &quot;ls&quot; command is not working. But if I<br>
&gt; create EROFS image without compression flag, then after mount I am able to<br>
&gt; read the files. Seems there is some problem during compression.<br>
&gt; <br>
&gt; I will appreciate if someone can help me out why this is happening.<br>
<br>
Could you please check if your opensuse kernel has been enabled<br>
the following configuration?<br>
<br>
CONFIG_EROFS_FS_ZIP=y<br>
CONFIG_EROFS_FS_CLUSTER_PAGE_LIMIT=1<br>
<br>
By default, they should be enabled, but it seems not according to<br>
the following information you mentioned.<br>
<br>
Thanks,<br>
Gao Xiang<br>
<br>
&gt; <br>
&gt; Steps followed:<br>
&gt; *Erofs image creation &amp; mount: *<br>
&gt; mkfs.erofs -zlz4hc enwik8.erofs.img enwik8/<br>
&gt; mkfs.erofs 1.0<br>
&gt;         c_version:           [     1.0]<br>
&gt;         c_dbg_lvl:           [       0]<br>
&gt;         c_dry_run:           [       0]<br>
&gt; mount enwik8.erofs.img /mnt/enwik8/ -t erofs -o loop<br>
&gt; <br>
&gt; ls -l /mnt/enwik8/<br>
&gt; ls: cannot access &#39;/mnt/enwik8/enwik8&#39;: Operation not supported<br>
&gt; total 0<br>
&gt; -????????? ? ? ? ?            ? enwik8<br>
&gt; <br>
&gt; The problem seen for both lz4 &amp; lz4hc.<br>
&gt; <br>
&gt; *Erofs image creation &amp; mount without compression: *<br>
&gt; mkfs.erofs  enwik8_nocomp.erofs.img enwik8/<br>
&gt; mkfs.erofs 1.0<br>
&gt;         c_version:           [     1.0]<br>
&gt;         c_dbg_lvl:           [       0]<br>
&gt;         c_dry_run:           [       0]<br>
&gt; <br>
&gt; mount enwik8_nocomp.erofs.img /mnt/enwik8_nocomp/ -t erofs -o loop<br>
&gt; <br>
&gt; ls -l /mnt/enwik8_nocomp/<br>
&gt; total 97660<br>
&gt; -rw-r--r-- 1 root root 100000000 Jan 20 01:27 enwik8<br>
&gt; <br>
&gt; *Original enwik8 file:*<br>
&gt; ls -l enwik8<br>
&gt; total 97660<br>
&gt; -rw-r--r-- 1 root root 100000000 Jan 20 01:14 enwik8<br>
&gt; <br>
&gt; *Source code used for Lz4 and Erofs utils:*<br>
&gt; <a href="https://github.com/hsiangkao/erofs-utils" rel="noreferrer" target="_blank">https://github.com/hsiangkao/erofs-utils</a><br>
&gt; <a href="https://github.com/lz4/lz4" rel="noreferrer" target="_blank">https://github.com/lz4/lz4</a><br>
&gt; <br>
&gt; -- <br>
&gt; Thanks,<br>
&gt; Saumya Prakash Panda<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature">Thanks,<br>Saumya Prakash Panda<br><br></div>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-22  3:57   ` Saumya Panda
@ 2020-01-22  4:37     ` Gao Xiang via Linux-erofs
  2020-01-29  4:13       ` Saumya Panda
  0 siblings, 1 reply; 7+ messages in thread
From: Gao Xiang via Linux-erofs @ 2020-01-22  4:37 UTC (permalink / raw)
  To: Saumya Panda; +Cc: linux-erofs

On Wed, Jan 22, 2020 at 09:27:45AM +0530, Saumya Panda wrote:
> Hi Gao,
>   Thanks for the info. After I enabled the said configuration, I am now
> able to read the files after mount. But I am seeing Squashfs has better
> compression ratio compared to Erofs (more than 60% than that of Erofs). Am
> I missing something? I used lz4hc while making the Erofs image.
> 
> ls -l enwik*
> -rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img
> -rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh
> -rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img
> -rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh

Yes, it's working as expect. Currently EROFS is compressed in 4k
fixed-sized output compression granularity as mentioned in many
available materials. That is the use case for our smartphones.
You should compare with similar block configuration of squashfs.
and there are some 3rd data by other folks as well [1].

In the future, we will support other compression algorithms and
larger compressed size (> 4k).

[1] In chinese,
    https://blog.csdn.net/scnutiger/article/details/102507596

Thanks,
Gao Xiang


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-22  4:37     ` Gao Xiang via Linux-erofs
@ 2020-01-29  4:13       ` Saumya Panda
  2020-01-29  4:50         ` Gao Xiang via Linux-erofs
  2020-01-29  4:59         ` Gao Xiang via Linux-erofs
  0 siblings, 2 replies; 7+ messages in thread
From: Saumya Panda @ 2020-01-29  4:13 UTC (permalink / raw)
  To: Gao Xiang; +Cc: linux-erofs

[-- Attachment #1: Type: text/plain, Size: 7215 bytes --]

Hi Gao,
  How you got the read amplification? I ran FIO on enwik9 (both Erofs and
SquashFs) and got the below output. Is there anyway to calculate the read
amplification from the below logs.

     Here filename (/mnt/enwik9_erofs/enwik9, /mnt/enwiki_sqfs/enwik9)
points to the mounted readonly file system(squasfs, erofs). But if I give
directory as a parameter instead of filename I am getting error(see the
logs at the end).

*FIO on Erofs:*

localhost:~> fio --name=randread --ioengine=libaio --iodepth=16
--rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240
--group_reporting --filename=/mnt/enwik9_erofs/enwik9

randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
4096B-4096B, ioengine=libaio, iodepth=16

...

fio-3.17-90-gd9b7

Starting 4 processes

Jobs: 4 (f=4): [r(4)][100.0%][r=381MiB/s][r=97.6k IOPS][eta 00m:00s]

randread: (groupid=0, jobs=4): err= 0: pid=34282: Mon Jan 27 01:04:55 2020

  read: IOPS=36.7k, BW=144MiB/s (150MB/s)(2048MiB/14271msec)

    slat (nsec): min=1305, max=135688k, avg=106650.48, stdev=493480.73

    clat (nsec): min=1970, max=136593k, avg=1629459.90, stdev=2639786.83

     lat (usec): min=3, max=136625, avg=1736.29, stdev=2772.32

    clat percentiles (usec):

     |  1.00th=[    48],  5.00th=[    69], 10.00th=[   251], 20.00th=[
437],

     | 30.00th=[   570], 40.00th=[   701], 50.00th=[   848], 60.00th=[
1029],

     | 70.00th=[  1336], 80.00th=[  2147], 90.00th=[  4015], 95.00th=[
5932],

     | 99.00th=[ 11600], 99.50th=[ 13304], 99.90th=[ 17171], 99.95th=[
20579],

     | 99.99th=[135267]

   bw (  KiB/s): min=16510, max=295435, per=76.91%, avg=113025.79,
stdev=23830.42, samples=112

   iops        : min= 4126, max=73857, avg=28254.82, stdev=5957.62,
samples=112

  lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=1.37%

  lat (usec)   : 100=5.45%, 250=3.15%, 500=14.74%, 750=18.99%, 1000=14.99%

  lat (msec)   : 2=20.14%, 4=11.09%, 10=8.42%, 20=1.62%, 50=0.04%

  lat (msec)   : 250=0.01%

  cpu          : usr=1.87%, sys=8.28%, ctx=144023, majf=1, minf=114

  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%,
>=64=0.0%

     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%

     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%,
>=64=0.0%

     issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0

     latency   : target=0, window=0, percentile=100.00%, depth=16



Run status group 0 (all jobs):

   READ: bw=144MiB/s (150MB/s), 144MiB/s-144MiB/s (150MB/s-150MB/s),
io=2048MiB (2147MB), run=14271-14271msec



Disk stats (read/write):

  loop0: ios=137357/0, merge=0/0, ticks=23020/0, in_queue=460, util=97.70%


*FIO on SquashFs:*


localhost:~/Downloads/erofs-utils> fio --name=randread --ioengine=libaio
--iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4
--runtime=240 --group_reporting --filename=/mnt/enwik9_sqsh/enwik9

randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
4096B-4096B, ioengine=libaio, iodepth=16

...

fio-3.17-90-gd9b7

Starting 4 processes

Jobs: 4 (f=4): [r(4)][66.7%][r=1175MiB/s][r=301k IOPS][eta 00m:05s]

randread: (groupid=0, jobs=4): err= 0: pid=34389: Mon Jan 27 01:07:56 2020

  read: IOPS=55.4k, BW=216MiB/s (227MB/s)(2048MiB/9467msec)

    slat (nsec): min=1194, max=61065k, avg=67581.76, stdev=754174.73

    clat (usec): min=2, max=222014, avg=1075.25, stdev=5969.94

     lat (usec): min=3, max=235437, avg=1143.13, stdev=6341.32

    clat percentiles (usec):

     |  1.00th=[    39],  5.00th=[    40], 10.00th=[    40], 20.00th=[
41],

     | 30.00th=[    42], 40.00th=[    43], 50.00th=[    43], 60.00th=[
44],

     | 70.00th=[    45], 80.00th=[    48], 90.00th=[    63], 95.00th=[
3163],

     | 99.00th=[ 28443], 99.50th=[ 41157], 99.90th=[ 78119], 99.95th=[
89654],

     | 99.99th=[125305]

   bw (  KiB/s): min= 1985, max=991826, per=63.49%, avg=140649.83,
stdev=78204.76, samples=72

   iops        : min=  495, max=247955, avg=35161.00, stdev=19551.19,
samples=72

  lat (usec)   : 4=0.01%, 10=0.01%, 20=0.01%, 50=84.82%, 100=8.18%

  lat (usec)   : 250=0.37%, 500=0.09%, 750=0.24%, 1000=0.54%

  lat (msec)   : 2=0.43%, 4=0.46%, 10=1.29%, 20=1.93%, 50=1.30%

  lat (msec)   : 100=0.33%, 250=0.02%

  cpu          : usr=1.76%, sys=16.29%, ctx=14519, majf=0, minf=104

  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%,
>=64=0.0%

     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
>=64=0.0%

     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%,
>=64=0.0%

     issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0

     latency   : target=0, window=0, percentile=100.00%, depth=16



Run status group 0 (all jobs):

   READ: bw=216MiB/s (227MB/s), 216MiB/s-216MiB/s (227MB/s-227MB/s),
io=2048MiB (2147MB), run=9467-9467msec



Disk stats (read/write):

  loop1: ios=177240/0, merge=0/0, ticks=199386/0, in_queue=75984,
util=73.95%



 Fio Test on SquashFs dir:


localhost:~/Downloads/erofs-utils> fio --name=randread --ioengine=libaio
--iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4
--runtime=240 --group_reporting --directory=/mnt/enwik9_sqsh/
randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
4096B-4096B, ioengine=libaio, iodepth=16
...
fio-3.17-90-gd9b7
Starting 4 processes
randread: Laying out IO file (1 file / 512MiB)
fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
system
randread: Laying out IO file (1 file / 512MiB)
fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
system
randread: Laying out IO file (1 file / 512MiB)
fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
system
randread: Laying out IO file (1 file / 512MiB)
fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
system


Run status group 0 (all jobs):


On Wed, Jan 22, 2020 at 10:07 AM Gao Xiang <hsiangkao@aol.com> wrote:

> On Wed, Jan 22, 2020 at 09:27:45AM +0530, Saumya Panda wrote:
> > Hi Gao,
> >   Thanks for the info. After I enabled the said configuration, I am now
> > able to read the files after mount. But I am seeing Squashfs has better
> > compression ratio compared to Erofs (more than 60% than that of Erofs).
> Am
> > I missing something? I used lz4hc while making the Erofs image.
> >
> > ls -l enwik*
> > -rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img
> > -rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh
> > -rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img
> > -rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh
>
> Yes, it's working as expect. Currently EROFS is compressed in 4k
> fixed-sized output compression granularity as mentioned in many
> available materials. That is the use case for our smartphones.
> You should compare with similar block configuration of squashfs.
> and there are some 3rd data by other folks as well [1].
>
> In the future, we will support other compression algorithms and
> larger compressed size (> 4k).
>
> [1] In chinese,
>     https://blog.csdn.net/scnutiger/article/details/102507596
>
> Thanks,
> Gao Xiang
>
>

-- 
Thanks,
Saumya Prakash Panda

[-- Attachment #2: Type: text/html, Size: 34706 bytes --]

<div dir="ltr"><div>Hi Gao,</div><div>  How you got the read amplification? I ran FIO on enwik9 (both Erofs and SquashFs) and got the below output. Is there anyway to calculate the read amplification from the below logs. <br></div><div><br></div><div>     Here filename (/mnt/enwik9_erofs/enwik9, /mnt/enwiki_sqfs/enwik9) points to the mounted readonly file system(squasfs, erofs). But if I give directory as a parameter instead of filename I am getting error(see the logs at the end). <br></div><div><b><span style="color:rgb(255,0,0)"><br></span></b></div><div><b><span style="color:rgb(255,0,0)">FIO on Erofs:</span></b></div><div><br></div><div><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>localhost:~&gt; fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting --<span style="color:rgb(255,153,0)">filename</span>=/mnt/enwik9_erofs/enwik9    <span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>...<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>fio-3.17-90-gd9b7<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Starting 4 processes<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Jobs: 4 (f=4): [r(4)][100.0%][r=381MiB/s][r=97.6k IOPS][eta 00m:00s]<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>randread: (groupid=0, jobs=4): err= 0: pid=34282: Mon Jan 27 01:04:55 2020<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  read: IOPS=36.7k, BW=144MiB/s (150MB/s)(2048MiB/14271msec)<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    slat (nsec): min=1305, max=135688k, avg=106650.48, stdev=493480.73<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    clat (nsec): min=1970, max=136593k, avg=1629459.90, stdev=2639786.83<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     lat (usec): min=3, max=136625, avg=1736.29, stdev=2772.32<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    clat percentiles (usec):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     |  1.00th=[    48],  5.00th=[    69], 10.00th=[   251], 20.00th=[   437],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 30.00th=[   570], 40.00th=[   701], 50.00th=[   848], 60.00th=[  1029],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 70.00th=[  1336], 80.00th=[  2147], 90.00th=[  4015], 95.00th=[  5932],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 99.00th=[ 11600], 99.50th=[ 13304], 99.90th=[ 17171], 99.95th=[ 20579],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 99.99th=[135267]<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   bw (  KiB/s): min=16510, max=295435, per=76.91%, avg=113025.79, stdev=23830.42, samples=112<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   iops        : min= 4126, max=73857, avg=28254.82, stdev=5957.62, samples=112<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=1.37%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (usec)   : 100=5.45%, 250=3.15%, 500=14.74%, 750=18.99%, 1000=14.99%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (msec)   : 2=20.14%, 4=11.09%, 10=8.42%, 20=1.62%, 50=0.04%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (msec)   : 250=0.01%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  cpu          : usr=1.87%, sys=8.28%, ctx=144023, majf=1, minf=114<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     latency   : target=0, window=0, percentile=100.00%, depth=16<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span><span> </span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Run status group 0 (all jobs):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   READ: bw=144MiB/s (150MB/s), 144MiB/s-144MiB/s (150MB/s-150MB/s), io=2048MiB (2147MB), run=14271-14271msec<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span><span> </span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Disk stats (read/write):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  loop0: ios=137357/0, merge=0/0, ticks=23020/0, in_queue=460, util=97.70%</span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;font-style:normal;font-variant-caps:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px"><span style="color:rgb(255,0,0)"><b>FIO on SquashFs:</b></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></p><span><span></span></span><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>localhost:~/Downloads/erofs-utils&gt; fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting --<span style="color:rgb(255,153,0)">filename</span>=/mnt/enwik9_sqsh/enwik9<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>...<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>fio-3.17-90-gd9b7<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Starting 4 processes<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Jobs: 4 (f=4): [r(4)][66.7%][r=1175MiB/s][r=301k IOPS][eta 00m:05s]<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>randread: (groupid=0, jobs=4): err= 0: pid=34389: Mon Jan 27 01:07:56 2020<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  read: IOPS=55.4k, BW=216MiB/s (227MB/s)(2048MiB/9467msec)<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    slat (nsec): min=1194, max=61065k, avg=67581.76, stdev=754174.73<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    clat (usec): min=2, max=222014, avg=1075.25, stdev=5969.94<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     lat (usec): min=3, max=235437, avg=1143.13, stdev=6341.32<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>    clat percentiles (usec):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     |  1.00th=[    39],  5.00th=[    40], 10.00th=[    40], 20.00th=[    41],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 30.00th=[    42], 40.00th=[    43], 50.00th=[    43], 60.00th=[    44],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 70.00th=[    45], 80.00th=[    48], 90.00th=[    63], 95.00th=[  3163],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 99.00th=[ 28443], 99.50th=[ 41157], 99.90th=[ 78119], 99.95th=[ 89654],<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     | 99.99th=[125305]<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   bw (  KiB/s): min= 1985, max=991826, per=63.49%, avg=140649.83, stdev=78204.76, samples=72<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   iops        : min=  495, max=247955, avg=35161.00, stdev=19551.19, samples=72<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (usec)   : 4=0.01%, 10=0.01%, 20=0.01%, 50=84.82%, 100=8.18%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (usec)   : 250=0.37%, 500=0.09%, 750=0.24%, 1000=0.54%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (msec)   : 2=0.43%, 4=0.46%, 10=1.29%, 20=1.93%, 50=1.30%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  lat (msec)   : 100=0.33%, 250=0.02%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  cpu          : usr=1.76%, sys=16.29%, ctx=14519, majf=0, minf=104<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%, &gt;=64=0.0%<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>     latency   : target=0, window=0, percentile=100.00%, depth=16<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span><span> </span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Run status group 0 (all jobs):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>   READ: bw=216MiB/s (227MB/s), 216MiB/s-216MiB/s (227MB/s-227MB/s), io=2048MiB (2147MB), run=9467-9467msec<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span><span> </span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>Disk stats (read/write):<span></span></span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span>  loop1: ios=177240/0, merge=0/0, ticks=199386/0, in_queue=75984, util=73.95%</span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><span style="color:rgb(255,0,0)"> Fio Test on SquashFs dir:</span></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none"><br></p><p class="MsoNormal" style="margin:0cm 0cm 0.0001pt;font-size:11pt;font-family:Calibri,sans-serif;color:rgb(0,0,0);font-style:normal;font-variant-caps:normal;font-weight:normal;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;text-decoration:none">localhost:~/Downloads/erofs-utils&gt; fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240 --group_reporting --<span style="color:rgb(255,153,0)">directory</span>=/mnt/enwik9_sqsh/ <br>randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=16<br>...<br>fio-3.17-90-gd9b7<br>Starting 4 processes<br>randread: Laying out IO file (1 file / 512MiB)<br>fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file system<br>randread: Laying out IO file (1 file / 512MiB)<br>fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file system<br>randread: Laying out IO file (1 file / 512MiB)<br>fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file system<br>randread: Laying out IO file (1 file / 512MiB)<br>fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file system<br><br><br>Run status group 0 (all jobs):<br><br><span><span></span></span></p></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jan 22, 2020 at 10:07 AM Gao Xiang &lt;<a href="mailto:hsiangkao@aol.com" target="_blank">hsiangkao@aol.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Jan 22, 2020 at 09:27:45AM +0530, Saumya Panda wrote:<br>
&gt; Hi Gao,<br>
&gt;   Thanks for the info. After I enabled the said configuration, I am now<br>
&gt; able to read the files after mount. But I am seeing Squashfs has better<br>
&gt; compression ratio compared to Erofs (more than 60% than that of Erofs). Am<br>
&gt; I missing something? I used lz4hc while making the Erofs image.<br>
&gt; <br>
&gt; ls -l enwik*<br>
&gt; -rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img<br>
&gt; -rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh<br>
&gt; -rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img<br>
&gt; -rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh<br>
<br>
Yes, it&#39;s working as expect. Currently EROFS is compressed in 4k<br>
fixed-sized output compression granularity as mentioned in many<br>
available materials. That is the use case for our smartphones.<br>
You should compare with similar block configuration of squashfs.<br>
and there are some 3rd data by other folks as well [1].<br>
<br>
In the future, we will support other compression algorithms and<br>
larger compressed size (&gt; 4k).<br>
<br>
[1] In chinese,<br>
    <a href="https://blog.csdn.net/scnutiger/article/details/102507596" rel="noreferrer" target="_blank">https://blog.csdn.net/scnutiger/article/details/102507596</a><br>
<br>
Thanks,<br>
Gao Xiang<br>
<br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr">Thanks,<br>Saumya Prakash Panda<br><br></div>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-29  4:13       ` Saumya Panda
@ 2020-01-29  4:50         ` Gao Xiang via Linux-erofs
  2020-01-29  4:59         ` Gao Xiang via Linux-erofs
  1 sibling, 0 replies; 7+ messages in thread
From: Gao Xiang via Linux-erofs @ 2020-01-29  4:50 UTC (permalink / raw)
  To: Saumya Panda; +Cc: linux-erofs

Hi Saumya,

On Wed, Jan 29, 2020 at 09:43:37AM +0530, Saumya Panda wrote:
> Hi Gao,
>   How you got the read amplification? I ran FIO on enwik9 (both Erofs and
> SquashFs) and got the below output. Is there anyway to calculate the read
> amplification from the below logs.

No. FIO doesn't provide such number as far as I know, you'd get all statistic
number by some block device information.

BTW, I'd suggest you umount, drop_caches, mount the filesystem every time
in order to get rid of filesystem itself internal cache and bdev buffer
cache. It would not be useful in real scenarios except for benchmark use
only.

https://github.com/erofs/erofs-openbenchmark/

Thanks,
Gao Xiang

> 
>      Here filename (/mnt/enwik9_erofs/enwik9, /mnt/enwiki_sqfs/enwik9)
> points to the mounted readonly file system(squasfs, erofs). But if I give
> directory as a parameter instead of filename I am getting error(see the
> logs at the end).
> 
> *FIO on Erofs:*
> 
> localhost:~> fio --name=randread --ioengine=libaio --iodepth=16
> --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240
> --group_reporting --filename=/mnt/enwik9_erofs/enwik9
> 
> randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
> 4096B-4096B, ioengine=libaio, iodepth=16
> 
> ...
> 
> fio-3.17-90-gd9b7
> 
> Starting 4 processes
> 
> Jobs: 4 (f=4): [r(4)][100.0%][r=381MiB/s][r=97.6k IOPS][eta 00m:00s]
> 
> randread: (groupid=0, jobs=4): err= 0: pid=34282: Mon Jan 27 01:04:55 2020
> 
>   read: IOPS=36.7k, BW=144MiB/s (150MB/s)(2048MiB/14271msec)
> 
>     slat (nsec): min=1305, max=135688k, avg=106650.48, stdev=493480.73
> 
>     clat (nsec): min=1970, max=136593k, avg=1629459.90, stdev=2639786.83
> 
>      lat (usec): min=3, max=136625, avg=1736.29, stdev=2772.32
> 
>     clat percentiles (usec):
> 
>      |  1.00th=[    48],  5.00th=[    69], 10.00th=[   251], 20.00th=[
> 437],
> 
>      | 30.00th=[   570], 40.00th=[   701], 50.00th=[   848], 60.00th=[
> 1029],
> 
>      | 70.00th=[  1336], 80.00th=[  2147], 90.00th=[  4015], 95.00th=[
> 5932],
> 
>      | 99.00th=[ 11600], 99.50th=[ 13304], 99.90th=[ 17171], 99.95th=[
> 20579],
> 
>      | 99.99th=[135267]
> 
>    bw (  KiB/s): min=16510, max=295435, per=76.91%, avg=113025.79,
> stdev=23830.42, samples=112
> 
>    iops        : min= 4126, max=73857, avg=28254.82, stdev=5957.62,
> samples=112
> 
>   lat (usec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=1.37%
> 
>   lat (usec)   : 100=5.45%, 250=3.15%, 500=14.74%, 750=18.99%, 1000=14.99%
> 
>   lat (msec)   : 2=20.14%, 4=11.09%, 10=8.42%, 20=1.62%, 50=0.04%
> 
>   lat (msec)   : 250=0.01%
> 
>   cpu          : usr=1.87%, sys=8.28%, ctx=144023, majf=1, minf=114
> 
>   IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%,
> >=64=0.0%
> 
>      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
> >=64=0.0%
> 
>      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%,
> >=64=0.0%
> 
>      issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0
> 
>      latency   : target=0, window=0, percentile=100.00%, depth=16
> 
> 
> 
> Run status group 0 (all jobs):
> 
>    READ: bw=144MiB/s (150MB/s), 144MiB/s-144MiB/s (150MB/s-150MB/s),
> io=2048MiB (2147MB), run=14271-14271msec
> 
> 
> 
> Disk stats (read/write):
> 
>   loop0: ios=137357/0, merge=0/0, ticks=23020/0, in_queue=460, util=97.70%
> 
> 
> *FIO on SquashFs:*
> 
> 
> localhost:~/Downloads/erofs-utils> fio --name=randread --ioengine=libaio
> --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4
> --runtime=240 --group_reporting --filename=/mnt/enwik9_sqsh/enwik9
> 
> randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
> 4096B-4096B, ioengine=libaio, iodepth=16
> 
> ...
> 
> fio-3.17-90-gd9b7
> 
> Starting 4 processes
> 
> Jobs: 4 (f=4): [r(4)][66.7%][r=1175MiB/s][r=301k IOPS][eta 00m:05s]
> 
> randread: (groupid=0, jobs=4): err= 0: pid=34389: Mon Jan 27 01:07:56 2020
> 
>   read: IOPS=55.4k, BW=216MiB/s (227MB/s)(2048MiB/9467msec)
> 
>     slat (nsec): min=1194, max=61065k, avg=67581.76, stdev=754174.73
> 
>     clat (usec): min=2, max=222014, avg=1075.25, stdev=5969.94
> 
>      lat (usec): min=3, max=235437, avg=1143.13, stdev=6341.32
> 
>     clat percentiles (usec):
> 
>      |  1.00th=[    39],  5.00th=[    40], 10.00th=[    40], 20.00th=[
> 41],
> 
>      | 30.00th=[    42], 40.00th=[    43], 50.00th=[    43], 60.00th=[
> 44],
> 
>      | 70.00th=[    45], 80.00th=[    48], 90.00th=[    63], 95.00th=[
> 3163],
> 
>      | 99.00th=[ 28443], 99.50th=[ 41157], 99.90th=[ 78119], 99.95th=[
> 89654],
> 
>      | 99.99th=[125305]
> 
>    bw (  KiB/s): min= 1985, max=991826, per=63.49%, avg=140649.83,
> stdev=78204.76, samples=72
> 
>    iops        : min=  495, max=247955, avg=35161.00, stdev=19551.19,
> samples=72
> 
>   lat (usec)   : 4=0.01%, 10=0.01%, 20=0.01%, 50=84.82%, 100=8.18%
> 
>   lat (usec)   : 250=0.37%, 500=0.09%, 750=0.24%, 1000=0.54%
> 
>   lat (msec)   : 2=0.43%, 4=0.46%, 10=1.29%, 20=1.93%, 50=1.30%
> 
>   lat (msec)   : 100=0.33%, 250=0.02%
> 
>   cpu          : usr=1.76%, sys=16.29%, ctx=14519, majf=0, minf=104
> 
>   IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.0%, 32=0.0%,
> >=64=0.0%
> 
>      submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%,
> >=64=0.0%
> 
>      complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.1%, 32=0.0%, 64=0.0%,
> >=64=0.0%
> 
>      issued rwts: total=524288,0,0,0 short=0,0,0,0 dropped=0,0,0,0
> 
>      latency   : target=0, window=0, percentile=100.00%, depth=16
> 
> 
> 
> Run status group 0 (all jobs):
> 
>    READ: bw=216MiB/s (227MB/s), 216MiB/s-216MiB/s (227MB/s-227MB/s),
> io=2048MiB (2147MB), run=9467-9467msec
> 
> 
> 
> Disk stats (read/write):
> 
>   loop1: ios=177240/0, merge=0/0, ticks=199386/0, in_queue=75984,
> util=73.95%
> 
> 
> 
>  Fio Test on SquashFs dir:
> 
> 
> localhost:~/Downloads/erofs-utils> fio --name=randread --ioengine=libaio
> --iodepth=16 --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4
> --runtime=240 --group_reporting --directory=/mnt/enwik9_sqsh/
> randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
> 4096B-4096B, ioengine=libaio, iodepth=16
> ...
> fio-3.17-90-gd9b7
> Starting 4 processes
> randread: Laying out IO file (1 file / 512MiB)
> fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
> system
> randread: Laying out IO file (1 file / 512MiB)
> fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
> system
> randread: Laying out IO file (1 file / 512MiB)
> fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
> system
> randread: Laying out IO file (1 file / 512MiB)
> fio: pid=0, err=30/file:filesetup.c:150, func=unlink, error=Read-only file
> system
> 
> 
> Run status group 0 (all jobs):
> 
> 
> On Wed, Jan 22, 2020 at 10:07 AM Gao Xiang <hsiangkao@aol.com> wrote:
> 
> > On Wed, Jan 22, 2020 at 09:27:45AM +0530, Saumya Panda wrote:
> > > Hi Gao,
> > >   Thanks for the info. After I enabled the said configuration, I am now
> > > able to read the files after mount. But I am seeing Squashfs has better
> > > compression ratio compared to Erofs (more than 60% than that of Erofs).
> > Am
> > > I missing something? I used lz4hc while making the Erofs image.
> > >
> > > ls -l enwik*
> > > -rw-r--r-- 1 saumya users  61280256 Jan 21 03:22 enwik8.erofs.img
> > > -rw-r--r-- 1 saumya users  37355520 Jan 21 03:34 enwik8.sqsh
> > > -rw-r--r-- 1 saumya users 558133248 Jan 21 03:25 enwik9.erofs.img
> > > -rw-r--r-- 1 saumya users 331481088 Jan 21 03:35 enwik9.sqsh
> >
> > Yes, it's working as expect. Currently EROFS is compressed in 4k
> > fixed-sized output compression granularity as mentioned in many
> > available materials. That is the use case for our smartphones.
> > You should compare with similar block configuration of squashfs.
> > and there are some 3rd data by other folks as well [1].
> >
> > In the future, we will support other compression algorithms and
> > larger compressed size (> 4k).
> >
> > [1] In chinese,
> >     https://blog.csdn.net/scnutiger/article/details/102507596
> >
> > Thanks,
> > Gao Xiang
> >
> >
> 
> -- 
> Thanks,
> Saumya Prakash Panda

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: Problem in EROFS: Not able to read the files after mount
  2020-01-29  4:13       ` Saumya Panda
  2020-01-29  4:50         ` Gao Xiang via Linux-erofs
@ 2020-01-29  4:59         ` Gao Xiang via Linux-erofs
  1 sibling, 0 replies; 7+ messages in thread
From: Gao Xiang via Linux-erofs @ 2020-01-29  4:59 UTC (permalink / raw)
  To: Saumya Panda; +Cc: linux-erofs

On Wed, Jan 29, 2020 at 09:43:37AM +0530, Saumya Panda wrote:
> 
> localhost:~> fio --name=randread --ioengine=libaio --iodepth=16
> --rw=randread --bs=4k --direct=0 --size=512M --numjobs=4 --runtime=240
> --group_reporting --filename=/mnt/enwik9_erofs/enwik9
> 
> randread: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T)
> 4096B-4096B, ioengine=libaio, iodepth=16

And I don't think such configuration is useful to calculate read ampfication
since you read 100% finally, use multi-thread without memory limitation (all
compressed data will be cached, so the total read is compressed size).

I have no idea what you want to get via doing comparsion between EROFS and
Squashfs. Larger block size much like readahead in bulk. If you benchmark
uncompressed file systems, you will notice such filesystems cannot get such
high 100% randread number.

Thank,
Gao Xiang


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, back to index

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-20  6:55 Problem in EROFS: Not able to read the files after mount Saumya Panda
2020-01-20  7:41 ` Gao Xiang via Linux-erofs
2020-01-22  3:57   ` Saumya Panda
2020-01-22  4:37     ` Gao Xiang via Linux-erofs
2020-01-29  4:13       ` Saumya Panda
2020-01-29  4:50         ` Gao Xiang via Linux-erofs
2020-01-29  4:59         ` Gao Xiang via Linux-erofs

Linux-EROFS Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-erofs/0 linux-erofs/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-erofs linux-erofs/ https://lore.kernel.org/linux-erofs \
		linux-erofs@lists.ozlabs.org linux-erofs@ozlabs.org
	public-inbox-index linux-erofs

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.ozlabs.lists.linux-erofs


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git