[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <166449592135.4485.5114483552637281957.b4-ty@kernel.dk>
Date: Thu, 29 Sep 2022 17:58:41 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Hugh Dickins <hughd@...gle.com>
Cc: Keith Busch <kbusch@...nel.org>, linux-block@...r.kernel.org,
Liu Song <liusong@...ux.alibaba.com>,
Hillf Danton <hdanton@...a.com>, Jan Kara <jack@...e.cz>,
linux-kernel@...r.kernel.org, Yu Kuai <yukuai1@...weicloud.com>
Subject: Re: [PATCH next v3] sbitmap: fix lockup while swapping
On Thu, 29 Sep 2022 12:50:12 -0700 (PDT), Hugh Dickins wrote:
> Commit 4acb83417cad ("sbitmap: fix batched wait_cnt accounting")
> is a big improvement: without it, I had to revert to before commit
> 040b83fcecfb ("sbitmap: fix possible io hung due to lost wakeup")
> to avoid the high system time and freezes which that had introduced.
>
> Now okay on the NVME laptop, but 4acb83417cad is a disaster for heavy
> swapping (kernel builds in low memory) on another: soon locking up in
> sbitmap_queue_wake_up() (into which __sbq_wake_up() is inlined), cycling
> around with waitqueue_active() but wait_cnt 0 . Here is a backtrace,
> showing the common pattern of outer sbitmap_queue_wake_up() interrupted
> before setting wait_cnt 0 back to wake_batch (in some cases other CPUs
> are idle, in other cases they're spinning for a lock in dd_bio_merge()):
>
> [...]
Applied, thanks!
[1/1] sbitmap: fix lockup while swapping
commit: 30514bd2dd4e86a3ecfd6a93a3eadf7b9ea164a0
Best regards,
--
Jens Axboe
Powered by blists - more mailing lists