From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Vlastimil Babka <vbabka@suse.cz>,
linux-mm@kvack.org, stable@vger.kernel.org,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Subject: Re: [PATCH] mm/hwpoison: fix wrong num_poisoned_pages account
Date: Mon, 4 Apr 2016 18:07:38 +0900 [thread overview]
Message-ID: <20160404090738.GB12898@bbox> (raw)
In-Reply-To: <1459749992-7861-1-git-send-email-minchan@kernel.org>
On Mon, Apr 04, 2016 at 03:06:32PM +0900, Minchan Kim wrote:
> Currently, migration code increases num_poisoned_pages on failed
> migration page as well as successfully migrated one at the trial
> of memory-failure. It will make the stat wrong.
>
> As well, it marks page as PG_HWPoison even if the migration trial
> failed. It would make we cannot recover the corrupted page using
> memory-failure facility.
>
> This patches fixes it.
>
> Cc: stable@vger.kernel.org
> Reported-by: Vlastimil Babka <vbabka@suse.cz>
> Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Signed-off-by: Minchan Kim <minchan@kernel.org>
Hello Andrew,
This patch will make conflict with current mmotm which has
my non-lru page migration work.
It's okay to drop my non-lru page migration work to apply this
bug fix patch in current mmotm because I will try to support
userspace mapped drvier non-lru page Vlastimil pointed out
in that thread.
Thanks.
> ---
> mm/migrate.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/mm/migrate.c b/mm/migrate.c
> index 6c822a7b27e0..f9dfb18a4eba 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -975,7 +975,13 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> dec_zone_page_state(page, NR_ISOLATED_ANON +
> page_is_file_cache(page));
> /* Soft-offlined page shouldn't go through lru cache list */
> - if (reason == MR_MEMORY_FAILURE) {
> + if (reason == MR_MEMORY_FAILURE && rc == MIGRATEPAGE_SUCCESS) {
> + /*
> + * With this release, we free successfully migrated
> + * page and set PG_HWPoison on just freed page
> + * intentionally. Although it's rather weird, it's how
> + * HWPoison flag works at the moment.
> + */
> put_page(page);
> if (!test_set_page_hwpoison(page))
> num_poisoned_pages_inc();
> --
> 1.9.1
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, Vlastimil Babka <vbabka@suse.cz>,
linux-mm@kvack.org, stable@vger.kernel.org,
Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
Subject: Re: [PATCH] mm/hwpoison: fix wrong num_poisoned_pages account
Date: Mon, 4 Apr 2016 18:07:38 +0900 [thread overview]
Message-ID: <20160404090738.GB12898@bbox> (raw)
In-Reply-To: <1459749992-7861-1-git-send-email-minchan@kernel.org>
On Mon, Apr 04, 2016 at 03:06:32PM +0900, Minchan Kim wrote:
> Currently, migration code increases num_poisoned_pages on failed
> migration page as well as successfully migrated one at the trial
> of memory-failure. It will make the stat wrong.
>
> As well, it marks page as PG_HWPoison even if the migration trial
> failed. It would make we cannot recover the corrupted page using
> memory-failure facility.
>
> This patches fixes it.
>
> Cc: stable@vger.kernel.org
> Reported-by: Vlastimil Babka <vbabka@suse.cz>
> Acked-by: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com>
> Signed-off-by: Minchan Kim <minchan@kernel.org>
Hello Andrew,
This patch will make conflict with current mmotm which has
my non-lru page migration work.
It's okay to drop my non-lru page migration work to apply this
bug fix patch in current mmotm because I will try to support
userspace mapped drvier non-lru page Vlastimil pointed out
in that thread.
Thanks.
> ---
> mm/migrate.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/mm/migrate.c b/mm/migrate.c
> index 6c822a7b27e0..f9dfb18a4eba 100644
> --- a/mm/migrate.c
> +++ b/mm/migrate.c
> @@ -975,7 +975,13 @@ static ICE_noinline int unmap_and_move(new_page_t get_new_page,
> dec_zone_page_state(page, NR_ISOLATED_ANON +
> page_is_file_cache(page));
> /* Soft-offlined page shouldn't go through lru cache list */
> - if (reason == MR_MEMORY_FAILURE) {
> + if (reason == MR_MEMORY_FAILURE && rc == MIGRATEPAGE_SUCCESS) {
> + /*
> + * With this release, we free successfully migrated
> + * page and set PG_HWPoison on just freed page
> + * intentionally. Although it's rather weird, it's how
> + * HWPoison flag works at the moment.
> + */
> put_page(page);
> if (!test_set_page_hwpoison(page))
> num_poisoned_pages_inc();
> --
> 1.9.1
>
next prev parent reply other threads:[~2016-04-04 9:07 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-04 6:06 [PATCH] mm/hwpoison: fix wrong num_poisoned_pages account Minchan Kim
2016-04-04 6:06 ` Minchan Kim
2016-04-04 9:07 ` Minchan Kim [this message]
2016-04-04 9:07 ` Minchan Kim
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=20160404090738.GB12898@bbox \
--to=minchan@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=n-horiguchi@ah.jp.nec.com \
--cc=stable@vger.kernel.org \
--cc=vbabka@suse.cz \
/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.