From: Joao Martins <joao.m.martins@oracle.com>
To: Matthew Wilcox <willy@infradead.org>, Jane Chu <jane.chu@oracle.com>
Cc: Naoya Horiguchi <naoya.horiguchi@nec.com>,
linux-mm@kvack.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [RFC] Missing compound_head() in memory-failure
Date: Mon, 31 Jan 2022 20:54:39 +0000 [thread overview]
Message-ID: <30a327fd-ae49-7412-ef77-9ec19480626e@oracle.com> (raw)
In-Reply-To: <YfhGlAXrJIC46lrY@casper.infradead.org>
On 1/31/22 20:29, Matthew Wilcox wrote:
> Unless I am mistaken, you have to pass the compound head of the page
> which has the error to collect_procs(). Am I mistaken?
>
-rc2 already has a fix for it:
https://lore.kernel.org/linux-mm/20220129021420.PgBIZm-q9%25akpm@linux-foundation.org/
Earlier in that function there's a:
page = compound_head(page);
So the @page passed to collect_procs() already is a head page.
filesystem-dax, though, it's always base pages. So there's no heads.
> (found by code inspection as part of the folio work; I think
> collect_procs() needs to take a folio, which would eliminate this class
> of errors)
>
> +++ b/mm/memory-failure.c
> @@ -1633,7 +1633,7 @@ static int memory_failure_dev_pagemap(unsigned long pfn, int flags,
> * SIGBUS (i.e. MF_MUST_KILL)
> */
> flags |= MF_ACTION_REQUIRED | MF_MUST_KILL;
> - collect_procs(page, &tokill, flags & MF_ACTION_REQUIRED);
> + collect_procs(compound_head(page), &tokill, flags & MF_ACTION_REQUIRED);
>
> list_for_each_entry(tk, &tokill, nd)
> if (tk->size_shift)
>
>
next prev parent reply other threads:[~2022-01-31 20:55 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-01-31 20:29 Matthew Wilcox
2022-01-31 20:54 ` Joao Martins [this message]
2022-02-01 2:34 ` Matthew Wilcox
2022-02-01 15:46 ` Matthew Wilcox
2022-02-01 16:01 ` Joao Martins
2022-02-01 17:40 ` Joao Martins
2022-02-01 17:47 ` Matthew Wilcox
2022-02-01 18:34 ` Joao Martins
2022-02-01 21:11 ` Jane Chu
2022-02-01 22:04 ` Joao Martins
2022-02-01 22:20 ` Dan Williams
2022-02-01 23:04 ` Jane Chu
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=30a327fd-ae49-7412-ef77-9ec19480626e@oracle.com \
--to=joao.m.martins@oracle.com \
--cc=akpm@linux-foundation.org \
--cc=jane.chu@oracle.com \
--cc=linux-mm@kvack.org \
--cc=naoya.horiguchi@nec.com \
--cc=willy@infradead.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