[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <e95e7cea71d1465496a9502b4de49e75@kioxia.com>
Date: Tue, 26 Mar 2024 10:29:47 +0000
From: tada keisuke <keisuke1.tada@...xia.com>
To: "song@...nel.org" <song@...nel.org>,
"yukuai3@...wei.com"
<yukuai3@...wei.com>
CC: "linux-raid@...r.kernel.org" <linux-raid@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [PATCH 09/11] md: add atomic mode switching when removing disk
This patch depends on patch 08.
To minimize the number of execution of atomic mode switching, not only adding atomic mode switching, but also remove judgment is divided into two stages.
Latency is minimized because only rdev to be removed is switched to atomic mode, not all rdevs.
Signed-off-by: Keisuke TADA <keisuke1.tada@...xia.com>
Signed-off-by: Toshifumi OHTAKE <toshifumi.ootake@...xia.com>
---
drivers/md/md.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/drivers/md/md.c b/drivers/md/md.c
index 30fbba38ea58..8c0c48a3a585 100644
--- a/drivers/md/md.c
+++ b/drivers/md/md.c
@@ -9277,8 +9277,10 @@ static bool rdev_removeable(struct md_rdev *rdev)
return false;
/* Fautly rdev is not used, it's safe to remove it. */
- if (test_bit(Faulty, &rdev->flags))
+ if (test_bit(Faulty, &rdev->flags)) {
+ percpu_ref_switch_to_atomic_sync(&rdev->nr_pending);
return true;
+ }
/* Journal disk can only be removed if it's faulty. */
if (test_bit(Journal, &rdev->flags))
--
2.34.1
Powered by blists - more mailing lists