Re: [PATCH RFC -next 00/26] md/md-bitmap: introduce bitmap_operations

From: Yu Kuai
Date: Tue Aug 13 2024 - 03:36:41 EST




在 2024/08/13 15:21, Christoph Hellwig 写道:
On Sat, Aug 10, 2024 at 10:08:28AM +0800, Yu Kuai wrote:
From: Yu Kuai <yukuai3@xxxxxxxxxx>

The background is that currently bitmap is using a global spin_lock,
cauing lock contention and huge IO performance degration for all raid
levels.

However, it's impossible to implement a new lock free bitmap with
current situation that md-bitmap exposes the internal implementation
with lots of exported apis. Hence bitmap_operations is invented, to
describe bitmap core implementation, and a new bitmap can be introduced
with a new bitmap_operations, we only need to switch to the new one
during initialization.

And with this we can build bitmap as kernel module, but that's not
our concern for now.

Noted I just compile this patchset, not tested yet.

Refactoring the bitmap code to be modular seems like a good idea.

But I'd just turn this into plain function calls and maybe a hidden
data structure if you feel really fancy. No need to introduce expensive
indirect calls and a separate module.

Got it, and will make the struct bitmap a hidden structure in the next
version. This is exactly what I'm doing now locally, get rid of bitmap
direct dereference :).

Thanks for the review!
Kuai

.