From: Jens Axboe <axboe@kernel.dk>
To: Salvatore Bonaccorso <carnil@debian.org>,
Pavel Begunkov <asml.silence@gmail.com>
Cc: Xan Charbonnet <xan@charbonnet.com>,
1093243@bugs.debian.org, Bernhard Schmidt <berni@debian.org>,
io-uring@vger.kernel.org, linux-kernel@vger.kernel.org,
regressions@lists.linux.dev
Subject: Re: Bug#1093243: Upgrade to 6.1.123 kernel causes mariadb hangs
Date: Fri, 24 Jan 2025 13:51:33 -0700 [thread overview]
Message-ID: <13ba3fc4-eea3-48b1-8076-6089aaa978fb@kernel.dk> (raw)
In-Reply-To: <Z5P5FNVjn9dq5AYL@eldamar.lan>
On 1/24/25 1:33 PM, Salvatore Bonaccorso wrote:
> Hi Pavel,
>
> On Fri, Jan 24, 2025 at 06:40:51PM +0000, Pavel Begunkov wrote:
>> On 1/24/25 16:30, Xan Charbonnet wrote:
>>> On 1/24/25 04:33, Pavel Begunkov wrote:
>>>> Thanks for narrowing it down. Xan, can you try this change please?
>>>> Waiters can miss wake ups without it, seems to match the description.
>>>>
>>>> diff --git a/io_uring/io_uring.c b/io_uring/io_uring.c
>>>> index 9b58ba4616d40..e5a8ee944ef59 100644
>>>> --- a/io_uring/io_uring.c
>>>> +++ b/io_uring/io_uring.c
>>>> @@ -592,8 +592,10 @@ static inline void __io_cq_unlock_post_flush(struct io_ring_ctx *ctx)
>>>> io_commit_cqring(ctx);
>>>> spin_unlock(&ctx->completion_lock);
>>>> io_commit_cqring_flush(ctx);
>>>> - if (!(ctx->flags & IORING_SETUP_DEFER_TASKRUN))
>>>> + if (!(ctx->flags & IORING_SETUP_DEFER_TASKRUN)) {
>>>> + smp_mb();
>>>> __io_cqring_wake(ctx);
>>>> + }
>>>> }
>>>> void io_cq_unlock_post(struct io_ring_ctx *ctx)
>>>>
>>>
>>>
>>> Thanks Pavel! Early results look very good for this change. I'm now running 6.1.120 with your added smp_mb() call. The backup process which had been quickly triggering the issue has been running longer than it ever did when it would ultimately fail. So that's great!
>>>
>>> One sour note: overnight, replication hung on this machine, which is another failure that started happening with the jump from 6.1.119 to 6.1.123. The machine was running 6.1.124 with the __io_cq_unlock_post_flush function removed completely. That's the kernel we had celebrated yesterday for running the backup process successfully.
>>>
>>> So, we might have two separate issues to deal with, unfortunately.
>>
>> Possible, but it could also be a side effect of reverting the patch.
>> As usual, in most cases patches are ported either because they're
>> fixing sth or other fixes depend on it, and it's not yet apparent
>> to me what happened with this one.
>
> I researched bit the lists, and there was the inclusion request on the
> stable list itself. Looking into the io-uring list I found
> https://lore.kernel.org/io-uring/CADZouDRFJ9jtXHqkX-PTKeT=GxSwdMC42zEsAKR34psuG9tUMQ@mail.gmail.com/
> which I think was the trigger to later on include in fact the commit
> in 6.1.120.
Yep indeed, was just looking for the backstory and that is why it got
backported. Just missed the fact that it should've been an
io_cqring_wake() rather than __io_cqring_wake()...
--
Jens Axboe
next prev parent reply other threads:[~2025-01-24 20:51 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <a2194f09-aea4-4f07-b23c-a64b3dbdce42@dfn.de>
[not found] ` <Z4_wKuDhmbktlbF-@fliwatuet.svr02.mucip.net>
[not found] ` <173706089225.4380.9492796104667651797.reportbug@backup22.biblionix.com>
[not found] ` <Z5FLufDg65O1ZDiA@eldamar.lan>
2025-01-23 20:05 ` Bug#1093243: Upgrade to 6.1.123 kernel causes mariadb hangs Salvatore Bonaccorso
2025-01-23 20:26 ` Jens Axboe
[not found] ` <dde09d65-8912-47e4-a1bb-d198e0bf380b@charbonnet.com>
2025-01-23 20:49 ` Salvatore Bonaccorso
2025-01-23 23:20 ` Pavel Begunkov
2025-01-24 2:10 ` Xan Charbonnet
2025-01-24 5:24 ` Salvatore Bonaccorso
2025-01-24 10:33 ` Pavel Begunkov
2025-01-24 16:30 ` Xan Charbonnet
2025-01-24 18:40 ` Pavel Begunkov
2025-01-24 20:33 ` Salvatore Bonaccorso
2025-01-24 20:51 ` Jens Axboe [this message]
2025-01-26 22:48 ` Xan Charbonnet
2025-01-27 16:38 ` Xan Charbonnet
2025-01-27 17:21 ` Pavel Begunkov
2025-01-27 16:49 ` Pavel Begunkov
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=13ba3fc4-eea3-48b1-8076-6089aaa978fb@kernel.dk \
--to=axboe@kernel.dk \
--cc=1093243@bugs.debian.org \
--cc=asml.silence@gmail.com \
--cc=berni@debian.org \
--cc=carnil@debian.org \
--cc=io-uring@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=regressions@lists.linux.dev \
--cc=xan@charbonnet.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.