From: Shaohua Li <shli@kernel.org>
To: ZhengYuan Liu <liuzhengyuan@kylinos.cn>
Cc: neilb@suse.com, liuzhengyuang521@gmail.com,
linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] raid5: fix incorrectly counter of conf->empty_inactive_list_nr
Date: Sat, 30 Jul 2016 14:02:16 -0700 [thread overview]
Message-ID: <20160730210216.GC9149@kernel.org> (raw)
In-Reply-To: <1469686934-1937-1-git-send-email-liuzhengyuan@kylinos.cn>
On Thu, Jul 28, 2016 at 02:22:14PM +0800, ZhengYuan Liu wrote:
> The counter conf->empty_inactive_list_nr is only used for determine if the
> raid5 is congested which is deal with in function raid5_congested().
> It was increased in get_free_stripe() when conf->inactive_list got to be
> empty and decreased in release_inactive_stripe_list() when splice
> temp_inactive_list to conf->inactive_list. However, this may have a
> problem when raid5_get_active_stripe or stripe_add_to_batch_list was called,
> because these two functions may call list_del_init(&sh->lru) to delete sh from
> "conf->inactive_list + hash" which may cause "conf->inactive_list + hash" to
> be empty when atomic_inc_not_zero(&sh->count) got false. So a check should be
> done at these two point and increase empty_inactive_list_nr accordingly.
> Otherwise the counter may get to be negative number which would influence
> async readahead from VFS.
>
> Signed-off-by: ZhengYuan Liu <liuzhengyuan@kylinos.cn>
Applied, thanks!
next prev parent reply other threads:[~2016-07-30 21:02 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-28 6:22 [PATCH] raid5: fix incorrectly counter of conf->empty_inactive_list_nr ZhengYuan Liu
2016-07-30 21:02 ` Shaohua Li [this message]
2016-08-03 0:44 ` NeilBrown
2016-08-03 0:44 ` NeilBrown
-- strict thread matches above, loose matches on Subject: below --
2016-08-03 5:51 liuzhengyuan
2016-08-03 22:44 ` NeilBrown
2016-07-20 9:22 Zhengyuan Liu
2016-07-28 0:19 ` Shaohua Li
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=20160730210216.GC9149@kernel.org \
--to=shli@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-raid@vger.kernel.org \
--cc=liuzhengyuan@kylinos.cn \
--cc=liuzhengyuang521@gmail.com \
--cc=neilb@suse.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.