mbox series

[Resend,v2,0/4] bcache fixes for Linux v5.19 (1st wave)

Message ID 20220524102336.10684-1-colyli@suse.de (mailing list archive)
Headers show
Series bcache fixes for Linux v5.19 (1st wave) | expand

Message

Coly Li May 24, 2022, 10:23 a.m. UTC
Hi Jens,

Thank you for taking the late arrived series, they are all for bcache
fixes when I work on the bcache journal no-space deadlock issue. It
spent me quite long time to fix because other issues interfered my debug
and analysis. When all the depending issues were fixed and my fix for
the journal no-space deadlock is verified, this submission is late for
Linux v5.19 submission. But it is still worthy to take them into v5.19
because real issues are fixed by this series.

The bcache has 4 patches for Linux v5.19 merge window, all from me.
- The first 2 patches are code clean up and potential bug fixes for
multi- threaded btree nodes check (for cache device) and dirty sectors
counting (for backing device), although no report from mailing list for
them, it is good to have the fixes.
- The 3rd patch removes incremental dirty sectors counting because it
is conflicted with multithreaded dirty sectors counting and the latter
one is 10x times faster.
- The last patch fixes a journal no-space deadlock during cache device
registration, it always reserves one journal bucket and only uses it
in registration time, so the no-spance condition won't happen anymore.

There are still 2 fixes are still under the long time I/O pressure
testing, once they are accomplished, I will submit to you in later
RC cycles.

The v2 series fixed previously detectd oversize stack frame issue, in
my test I don't observed the stack frame oversize warning and normal
bcache operations work as expected.

Thank you in advance.

Coly Li
---

Coly Li (4):
  bcache: improve multithreaded bch_btree_check()
  bcache: improve multithreaded bch_sectors_dirty_init()
  bcache: remove incremental dirty sector counting for
    bch_sectors_dirty_init()
  bcache: avoid journal no-space deadlock by reserving 1 journal bucket

 drivers/md/bcache/btree.c     |  58 +++++++++----------
 drivers/md/bcache/btree.h     |   2 +-
 drivers/md/bcache/journal.c   |  31 +++++++++--
 drivers/md/bcache/journal.h   |   2 +
 drivers/md/bcache/super.c     |   1 +
 drivers/md/bcache/writeback.c | 101 +++++++++++++---------------------
 drivers/md/bcache/writeback.h |   2 +-
 7 files changed, 94 insertions(+), 103 deletions(-)

Comments

Jens Axboe May 24, 2022, 12:19 p.m. UTC | #1
On Tue, 24 May 2022 18:23:32 +0800, Coly Li wrote:
> Thank you for taking the late arrived series, they are all for bcache
> fixes when I work on the bcache journal no-space deadlock issue. It
> spent me quite long time to fix because other issues interfered my debug
> and analysis. When all the depending issues were fixed and my fix for
> the journal no-space deadlock is verified, this submission is late for
> Linux v5.19 submission. But it is still worthy to take them into v5.19
> because real issues are fixed by this series.
> 
> [...]

Applied, thanks!

[1/4] bcache: improve multithreaded bch_btree_check()
      commit: 622536443b6731ec82c563aae7807165adbe9178
[2/4] bcache: improve multithreaded bch_sectors_dirty_init()
      commit: 4dc34ae1b45fe26e772a44379f936c72623dd407
[3/4] bcache: remove incremental dirty sector counting for bch_sectors_dirty_init()
      commit: 80db4e4707e78cb22287da7d058d7274bd4cb370
[4/4] bcache: avoid journal no-space deadlock by reserving 1 journal bucket
      commit: 32feee36c30ea06e38ccb8ae6e5c44c6eec790a6

Best regards,