From: Ming Lei <ming.lei@redhat.com>
To: Jens Axboe <axboe@kernel.dk>
Cc: linux-block@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
Jooyung Han <jooyung@google.com>,
Mike Snitzer <snitzer@kernel.org>,
zkabelac@redhat.com, dm-devel@lists.linux.dev,
Alasdair Kergon <agk@redhat.com>,
Mikulas Patocka <mpatocka@redhat.com>
Subject: Re: [PATCH V3 0/5] loop: improve loop aio perf by IOCB_NOWAIT
Date: Tue, 25 Mar 2025 09:59:26 +0800 [thread overview]
Message-ID: <Z-IN_qS0Z3Tw_fHX@fedora> (raw)
In-Reply-To: <aed4f9cd-863b-44b8-bc24-68ac67eb75f2@kernel.dk>
On Mon, Mar 24, 2025 at 08:50:14AM -0600, Jens Axboe wrote:
> On 3/22/25 11:40 AM, Jens Axboe wrote:
> >
> > On Sat, 22 Mar 2025 09:26:09 +0800, Ming Lei wrote:
> >> This patchset improves loop aio perf by using IOCB_NOWAIT for avoiding to queue aio
> >> command to workqueue context, meantime refactor lo_rw_aio() a bit.
> >>
> >> In my test VM, loop disk perf becomes very close to perf of the backing block
> >> device(nvme/mq virtio-scsi).
> >>
> >> And Mikulas verified that this way can improve 12jobs sequential rw io by
> >> ~5X, and basically solve the reported problem together with loop MQ change.
> >>
> >> [...]
> >
> > Applied, thanks!
> >
> > [1/5] loop: simplify do_req_filebacked()
> > commit: 04dcb8a909b5b68464ec5ccb123e9614f3ac333d
> > [2/5] loop: cleanup lo_rw_aio()
> > commit: 832c9fec8e2314170c5451023565b94f05477aa7
> > [3/5] loop: move command blkcg/memcg initialization into loop_queue_work
> > commit: a23d34a31758000b2b158288226bf24f96d8864d
> > [4/5] loop: try to handle loop aio command via NOWAIT IO first
> > commit: dfc77a934a3acdb13dadf237b7417c6a31b19da8
> > [5/5] loop: add hint for handling aio via IOCB_NOWAIT
> > commit: 4c3f4bad7a6e9022489a9f8392f7147ed3ce74b1
>
> Just a heads-up that I had applied this for testing, not necessarily to
> get included. To clear up that confusion, I have retained patches 1-3
> for now, and then we can queue up 4-5/5 later when everybody is happy
> with them.
Fine.
I'd see the reason if there is, looks not see it anywhere, :-)
And it should have been posted on mail list.
Christoph suggested per-cmd struct, which does cause regression for
the usual sequential IO workload from both throughput and cpu utilization viewpoints,
and this thing has been observed 10 years ago when enabling loop dio/aio.
https://lore.kernel.org/lkml/1439778711-9621-4-git-send-email-ming.lei@canonical.com/
And my recent test shows same result too:
https://lore.kernel.org/linux-block/Z9I2lm31KOQ784nb@fedora/
Mikulas's test shows per-cmd struct works much worse than this patchset:
https://lore.kernel.org/linux-block/7b8b8a24-f36b-d213-cca1-d8857b6aca02@redhat.com/
And anything else?
Thanks,
Ming
next prev parent reply other threads:[~2025-03-25 1:59 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-22 1:26 [PATCH V3 0/5] loop: improve loop aio perf by IOCB_NOWAIT Ming Lei
2025-03-22 1:26 ` [PATCH V3 1/5] loop: simplify do_req_filebacked() Ming Lei
2025-03-22 1:26 ` [PATCH V3 2/5] loop: cleanup lo_rw_aio() Ming Lei
2025-03-22 1:26 ` [PATCH V3 3/5] loop: move command blkcg/memcg initialization into loop_queue_work Ming Lei
2025-03-22 1:26 ` [PATCH V3 4/5] loop: try to handle loop aio command via NOWAIT IO first Ming Lei
2025-03-22 1:26 ` [PATCH V3 5/5] loop: add hint for handling aio via IOCB_NOWAIT Ming Lei
2025-03-22 17:40 ` [PATCH V3 0/5] loop: improve loop aio perf by IOCB_NOWAIT Jens Axboe
2025-03-24 14:50 ` Jens Axboe
2025-03-25 1:59 ` Ming Lei [this message]
2025-03-25 12:07 ` Jens Axboe
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=Z-IN_qS0Z3Tw_fHX@fedora \
--to=ming.lei@redhat.com \
--cc=agk@redhat.com \
--cc=axboe@kernel.dk \
--cc=dm-devel@lists.linux.dev \
--cc=hch@lst.de \
--cc=jooyung@google.com \
--cc=linux-block@vger.kernel.org \
--cc=mpatocka@redhat.com \
--cc=snitzer@kernel.org \
--cc=zkabelac@redhat.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