Linux-EROFS Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Nithurshen <nithurshen.dev@gmail.com>
To: nithurshen.dev@gmail.com
Cc: hsiangkao@linux.alibaba.com, linux-erofs@lists.ozlabs.org,
	xiang@kernel.org
Subject: Re: [PATCH v6] fsck.erofs: add multi-threaded decompression
Date: Sun, 26 Jul 2026 16:32:30 +0530	[thread overview]
Message-ID: <20260726110230.62386-1-nithurshen.dev@gmail.com> (raw)
In-Reply-To: <20260726110116.61634-1-nithurshen.dev@gmail.com>

Hi Xiang,

I have integrated the multi-threaded decompression framework on
top of the concurrent directory traversal patch and ran the
benchmarks against our single-threaded baseline. All integrity
checks passed successfully. Note that this data is an average of
5 runs of extraction of the same file with purging all cache
before each extraction.

Here is the extraction time breakdown and performance improvement:

| Alg   | Cluster | ST Base | MT Trav | MT Comb | Imp(P1) | Imp(P2) | Imp(All) |
|-------|---------|---------|---------|---------|---------|---------|----------|
| lz4hc | 4096    | 4.17s   | 3.62s   | 3.38s   | 13.2%   | 6.6%    | 19.0%    |
| lz4hc | 8192    | 6.02s   | 3.73s   | 3.56s   | 38.0%   | 4.6%    | 40.9%    |
| lz4hc | 16384   | 5.34s   | 4.61s   | 4.24s   | 13.7%   | 8.0%    | 20.6%    |
| lz4hc | 32768   | 5.24s   | 3.79s   | 3.34s   | 27.7%   | 11.9%   | 36.3%    |
| lz4hc | 65536   | 4.23s   | 3.61s   | 3.49s   | 14.7%   | 3.3%    | 17.5%    |
| zstd  | 4096    | 4.63s   | 4.62s   | 3.75s   | 0.2%    | 18.8%   | 19.0%    |
| zstd  | 8192    | 4.78s   | 3.95s   | 3.84s   | 17.4%   | 2.8%    | 19.7%    |
| zstd  | 16384   | 4.29s   | 3.68s   | 3.65s   | 14.2%   | 0.8%    | 14.9%    |
| zstd  | 32768   | 4.33s   | 3.68s   | 3.18s   | 15.0%   | 13.6%   | 26.6%    |
| zstd  | 65536   | 4.34s   | 3.82s   | 3.31s   | 12.0%   | 13.4%   | 23.7%    |
| lzma  | 4096    | 56.37s  | 36.57s  | 20.60s  | 35.1%   | 43.7%   | 63.5%    |
| lzma  | 8192    | 64.48s  | 45.00s  | 18.49s  | 30.2%   | 58.9%   | 71.3%    |
| lzma  | 16384   | 69.83s  | 52.34s  | 21.97s  | 25.0%   | 58.0%   | 68.5%    |
| lzma  | 32768   | 74.88s  | 55.37s  | 20.88s  | 26.1%   | 62.3%   | 72.1%    |
| lzma  | 65536   | 80.66s  | 63.64s  | 19.81s  | 21.1%   | 68.9%   | 75.4%    |

*(Imp(P1): Improvement of MT Traversal over ST Baseline)*
*(Imp(P2): Improvement of Combined Patch over MT Traversal)*
*(Imp(All): Total Improvement of Combined Patch over ST Baseline)*

Average Overall Improvements:
* LZMA: ~70.2% improvement overall.
* LZ4HC: ~26.9% improvement overall.
* ZSTD: ~20.8% improvement overall.

Regarding performance:
By combining concurrent directory traversal with the multi-threaded
decompression pipeline (featuring algorithm-aware batching and fast-
path bypasses), we have successfully decoupled CPU-heavy compute
from I/O-bound extraction.

Please let me know your thoughts on this combined patch.

Thanks,
Nithurshen


  reply	other threads:[~2026-07-26 11:02 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-06-21 12:01 [PATCH 0/2] fsck.erofs: implement multi-threaded extraction Nithurshen
2026-06-21 12:01 ` [PATCH 1/2] fsck.erofs: add multi-threaded decompression Nithurshen
2026-06-22  2:08   ` Gao Xiang
2026-06-29  9:55   ` [PATCH 1/2 v2] " Nithurshen
2026-07-05 14:00     ` Gao Xiang
2026-07-06  6:05   ` [PATCH 1/2 v3] " Nithurshen
2026-07-06  6:10     ` Nithurshen
2026-07-08  2:31       ` Gao Xiang
2026-07-13  7:02     ` [PATCH 1/2 v4] " Nithurshen
2026-06-21 12:01 ` [PATCH 2/2] fsck.erofs: implement concurrent directory traversal Nithurshen
2026-07-05 14:05   ` Gao Xiang
2026-07-14  1:10   ` [PATCH v5] fsck.erofs: add multi-threaded decompression Nithurshen
2026-07-14  1:18     ` Nithurshen Karthikeyan
2026-07-26 11:01     ` [PATCH v6] " Nithurshen
2026-07-26 11:02       ` Nithurshen [this message]
2026-07-24 14:35   ` [PATCH v2 2/2] fsck.erofs: implement concurrent directory traversal Nithurshen
2026-07-24 14:47     ` Nithurshen
2026-07-24 15:28       ` Gao Xiang
2026-07-24 15:32         ` Nithurshen Karthikeyan
2026-07-24 15:45           ` Gao Xiang
2026-07-24 15:53     ` Gao Xiang
2026-07-25  1:26   ` [PATCH v3 " Nithurshen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260726110230.62386-1-nithurshen.dev@gmail.com \
    --to=nithurshen.dev@gmail.com \
    --cc=hsiangkao@linux.alibaba.com \
    --cc=linux-erofs@lists.ozlabs.org \
    --cc=xiang@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox