Re: [PATCH v2 00/12] Improve Raid5 Lock Contention

From: Guoqing Jiang
Date: Fri Apr 29 2022 - 21:46:51 EST




On 4/30/22 12:01 AM, Logan Gunthorpe wrote:

On 2022-04-28 18:49, Guoqing Jiang wrote:
I can't agree with you anymore. I would say some patches were submitted
without run enough tests, then after one by one kernel release, the thing
becomes worse.
I'm not sure where we disagree here. I certainly don't want to introduce
regressions myself. I haven't submitted v3 yet because I've become less
certain that there are no regressions in it. The point of my last email
was try to explain that I am taking testing seriously.

That is my intention too, no more new regression.

This is also the reason that I recommend run mdadm tests since md raid
is a complex subsystem, perhaps a simple change could cause regression.
And considering there are really limited developers and reviewers in the
community, the chance to cause regression get bigger.
While I'd certainly like to run mdadm tests, they appear to be very
broken to me. Too broken for me to fix all of it -- I don't have time
for fixing that many issues.

I do agree it is not reasonable to ask you to fix them,  just compare the test result
with and without your set, at least there is no more new failure as said.

Seems I'm not the only one to run into this problem recently:

https://lore.kernel.org/linux-raid/20220111130635.00001478@xxxxxxxxxxxxxxx/T/#t

And it's a shame nobody could even bother to remove the unsupported 0.9
metadata tests from the repo as a result of this conversation.

If I may, is it possible to submit your tests to mdadm as well? So we can
have one common place to contain enough tests.
I'd certainly consider that if I could run the test suite. Though one
hitch is that I've found I need to run my tests repeatedly, for hours,
before hitting some rare bugs. Running the tests only once is much
easier to pass. It's hard to fully test things like this with so many
rare retry paths in a simple regression test.

Let's focus on raid456 test given the code only touches raid5, you can pass argument
like this, FYI.

mdadm> ./test --raidtype=raid456 --dev=loop

Thanks,
Guoqing