linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Georgi Nikolov <gnikolov@icdsoft.com>
To: Guoqing Jiang <guoqing.jiang@cloud.ionos.com>, song@kernel.org
Cc: linux-raid <linux-raid@vger.kernel.org>
Subject: Re: Pausing md check hangs
Date: Tue, 10 Mar 2020 17:30:36 +0200	[thread overview]
Message-ID: <58a16d12-4df3-c97c-33cb-b7eed3534a8b@icdsoft.com> (raw)
In-Reply-To: <15519216-347d-c355-fa1e-e1ec29f7e996@cloud.ionos.com>

I have tried new 4.19 kernel with proposed patches with no success. Same 
story with md1_raid6 (last time it was with 5.4 and md10_raid6).

   57.45%  [kernel]  [k] analyse_stripe
   17.34%  [kernel]  [k] ops_run_io
    6.60%  [kernel]  [k] handle_stripe
    6.20%  [kernel]  [k] handle_active_stripes.isra.73
    4.86%  [kernel]  [k] __list_del_entry_valid
    1.82%  [kernel]  [k] queue_work_on
    1.68%  [kernel]  [k] raid5_wakeup_stripe_thread
    1.65%  [kernel]  [k] do_release_stripe
    1.09%  [kernel]  [k] __release_stripe

Thank you

> diff --git a/drivers/md/raid5-cache.c b/drivers/md/raid5-cache.c
> index 9b6da759dca2..a961d8eed73e 100644
> --- a/drivers/md/raid5-cache.c
> +++ b/drivers/md/raid5-cache.c
> @@ -2532,13 +2532,10 @@ static ssize_t r5c_journal_mode_show(struct 
> mddev *mddev, char *page)
>         struct r5conf *conf;
>         int ret;
>
> -       ret = mddev_lock(mddev);
> -       if (ret)
> -               return ret;
> -
> +       spin_lock(&mddev->lock);
>         conf = mddev->private;
>         if (!conf || !conf->log) {
> -               mddev_unlock(mddev);
> +               spin_unlock(&mddev->lock);
>                 return 0;
>         }
>
> @@ -2558,7 +2555,7 @@ static ssize_t r5c_journal_mode_show(struct 
> mddev *mddev, char *page)
>         default:
>                 ret = 0;
>         }
> -       mddev_unlock(mddev);
> +       spin_unlock(&mddev->lock);
>         return ret;
>  }
>
>
> --- a/drivers/md/md.c
> +++ b/drivers/md/md.c
> @@ -4779,7 +4779,8 @@ action_store(struct mddev *mddev, const char 
> *page, size_t len)
>                 if (test_bit(MD_RECOVERY_RUNNING, &mddev->recovery) &&
>                     mddev_lock(mddev) == 0) {
>                         flush_workqueue(md_misc_wq);
> -                       if (mddev->sync_thread) {
> +                       if (mddev->sync_thread ||
> + test_bit(MD_RECOVERY_RUNNING,&mddev->recovery)) {
>

  reply	other threads:[~2020-03-10 15:30 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-27 13:42 Pausing md check hangs Georgi Nikolov
2020-01-27 17:11 ` Song Liu
2020-01-28  8:11   ` Georgi Nikolov
2020-01-28 18:04     ` Song Liu
2020-02-01 14:26       ` Georgi Nikolov
2020-02-03 23:31         ` Song Liu
2020-02-17 12:14           ` Georgi Nikolov
2020-02-17 13:15           ` Georgi Nikolov
2020-02-25  2:10 ` Guoqing Jiang
2020-03-10 15:30   ` Georgi Nikolov [this message]
2020-03-10 20:27     ` Guoqing Jiang
  -- strict thread matches above, loose matches on Subject: below --
2020-01-27  9:52 Georgi Nikolov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=58a16d12-4df3-c97c-33cb-b7eed3534a8b@icdsoft.com \
    --to=gnikolov@icdsoft.com \
    --cc=guoqing.jiang@cloud.ionos.com \
    --cc=linux-raid@vger.kernel.org \
    --cc=song@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).