mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Mario Lohajner <mario_lohajner@rocketmail.com>
To: Theodore Tso <tytso@mit.edu>, Andreas Dilger <adilger@dilger.ca>
Cc: libaokun1@huawei.com, adilger.kernel@dilger.ca,
	linux-ext4@vger.kernel.org, linux-kernel@vger.kernel.org,
	yangerkun@huawei.com, libaokun9@gmail.com
Subject: Re: [PATCH] ext4: rralloc - (former rotalloc) improved round-robin allocation policy
Date: Thu, 26 Feb 2026 22:50:29 +0100	[thread overview]
Message-ID: <04dfeda0-8c13-4233-b631-d8912d4fe6f0@rocketmail.com> (raw)
In-Reply-To: <20260226024819.GA39209@macsyma-wired.lan>



On 26. 02. 2026. 03:48, Theodore Tso wrote:
> On Wed, Feb 25, 2026 at 04:49:30PM -0700, Andreas Dilger wrote:
>>
>> Mario, can you please include a summary of the performance test
>> results into the commit message so that the effectiveness of the
>> patch can be evaluated.  This should include test(s) run and
>> their arguments, along with table of before/after numbers.
> 
> The tests should also include an explanation of the hardware that you
> ran the test on.  Some example of cover letters that include
> perforance improvement results:
> 
> https://lore.kernel.org/all/20251025032221.2905818-1-libaokun@huaweicloud.com/
> https://lore.kernel.org/all/20260105014522.1937690-1-yi.zhang@huaweicloud.com/
> 
> Cheers,
> 
> 					- Ted

Hello Andreas, hello Theodore!

These are the results of synthetic tests designed to evaluate whether
the round-robin allocator (rralloc) maintains its allocation behavior
without degrading performance, and to examine its behavior under high
concurrency and stress conditions.

The primary purpose of rralloc is to improve allocation distribution
and avoid hotspotting. Performance improvements are not the goal here,
throughput similar to regular allocator is considered favorable.

# Workloads
*** Large Sequential Files
(Evaluates sequential write throughput with multi-job concurrency)

fio --name=seqwrite --directory=. --rw=write --bs=1M --numjobs=6 \
--size=4G --runtime=300 --time_based --group_reporting

*** Small Files
(Validates allocator behavior and latency under small, random writes)

fio --name=smallfiles --directory=. --rw=write --bs=4k --numjobs=6 \
--size=1G --ioengine=psync --time_based --runtime=180 --group_reporting

*** Multi-core / Multi-task Stress
(Tests high concurrency and stress conditions)

fio --name=allocstress --directory=. --rw=write --bs=4k --numjobs=48 \
--size=2G --ioengine=psync --time_based --runtime=180 --group_reporting

# Results summary:

| Test        | Allocator | BW (MiB/s) | IOPS  | Avg lat |
| ----------- | --------- | ---------- | ----- | ------- |
| seqwrite    | Regular   | 497        | 496   | 9.19 ms |
|             | rralloc   | 538        | 537   | 9.37 ms |
| smallfiles  | Regular   | 707        | 181k  | 2.03 µs |
|             | rralloc   | 586        | 150k  | 2.18 µs |
| allocstress | Regular   | 166        | 42.4k | 1.13 ms |
|             | rralloc   | 283        | 72.5k | 0.66 ms |


The results indicate that a round-robin allocation strategy can be
introduced without compromising baseline I/O characteristics.

Across tested workloads, rralloc preserves expected I/O behavior and
does not introduce performance regressions of practical significance.

| Test     | Hardware                                   |
| -------- | ------------------------------------------ |
| OS       | Fedora Linux 42 Workstation x86_64         |
| Host     | 90HU007QGE ideacentre 510-15ICB            |
| Kernel   | 6.18.9-dirty                               |
| CPU      | Intel i5-8400 (6 cores) @ 2.801GHz         |
| GPU1     | AMD Radeon RX 560                          |
| GPU2     | Intel CoffeeLake-S GT2 / UHD Graphics 630  |
| Memory   | 1379 MiB / 31,958 MiB                      |
| NVMe     | INTEL SSDPEKNW512G8H (HPS1)                |
| SATA SSD | Samsung SSD 860 PRO 256GB (RVM02B6Q)       |

Note:
These results reflect synthetic tests on the described hardware.
Independent reproduction and verification of these findings are welcome.
Variations in hardware, kernel version, or workload configuration may
affect absolute numbers, but the qualitative observation—that rralloc
preserves baseline I/O behavior—remains valid.

For more details (raw outputs) please refer to:
https://github.com/mlohajner/RRALLOC

Regards,
Mario Lohajner (manjo)

  reply	other threads:[~2026-02-26 22:10 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260225201520.220071-1-mario_lohajner.ref@rocketmail.com>
2026-02-25 20:15 ` Mario Lohajner
2026-02-25 23:49   ` Andreas Dilger
2026-02-26  2:48     ` Theodore Tso
2026-02-26 21:50       ` Mario Lohajner [this message]
2026-02-27  1:12         ` Theodore Tso
2026-02-27 14:46           ` Mario Lohajner
2026-02-27 16:43             ` Theodore Tso
2026-03-02 20:04               ` Mario Lohajner
2026-03-03  1:33                 ` Theodore Tso
2026-03-03 13:28                   ` Mario Lohajner
2026-03-05  2:47                     ` Theodore Tso

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=04dfeda0-8c13-4233-b631-d8912d4fe6f0@rocketmail.com \
    --to=mario_lohajner@rocketmail.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=adilger@dilger.ca \
    --cc=libaokun1@huawei.com \
    --cc=libaokun9@gmail.com \
    --cc=linux-ext4@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=yangerkun@huawei.com \
    /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

all inboxes | Powered by JetHome®