linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Oscar Salvador <osalvador@suse.de>
To: Matthew Wilcox <willy@infradead.org>
Cc: Miaohe Lin <linmiaohe@huawei.com>, Jane Chu <jane.chu@oracle.com>,
	linux-mm@kvack.org
Subject: Re: [PATCH v2 07/11] mm/memory-failure: Convert memory_failure() to use a folio
Date: Sat, 13 Apr 2024 00:09:55 +0200	[thread overview]
Message-ID: <ZhmxMzfydzDhGDX7@localhost.localdomain> (raw)
In-Reply-To: <ZhmP-0_z_B3u6lrs@casper.infradead.org>

On Fri, Apr 12, 2024 at 08:48:11PM +0100, Matthew Wilcox wrote:
> Yes, I think you're right.  As the MM handling of pages has evolved,
> people haven't kept memory-failure uptodate.  That's both understandable
> and regrettable.

We kind of had the same problem with memory-hotplug, but we managed to
get it up to date.

> I don't have the time to focus on memory-failure myself; I have a couple
> of hundred uses of page->mapping to eliminate.  And I'd want to get a
> lot more serious about testing before starting on that journey.
> 
> I do have ideas for handling hwpoison without splitting a folio.

But if you want to recover those pages within a large folio that are
unaffected, you will have to split it eventually?
And so, if we can make sure that the large folio has been split, and
subpage cannot be part of another compound page afterwards, we should be
safe?

But yes, I can see why.
Right now, if we fail to split the folio we do not handle the situation
at all, we just mark the head as HWPoisoned which is pretty unfortunate
because we just lost the chance to contain the error in the subpage,
so we flushed a large folio down the toilet.

I would be interested to hear those ideas, as having the chance to
handle that would be very beneficial, and more deterministic.


Thanks


-- 
Oscar Salvador
SUSE Labs


  reply	other threads:[~2024-04-12 22:10 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-08 19:42 [PATCH v2 00/11] Some cleanups for memory-failure Matthew Wilcox (Oracle)
2024-04-08 19:42 ` [PATCH v2 01/11] mm/memory-failure: Remove fsdax_pgoff argument from __add_to_kill Matthew Wilcox (Oracle)
2024-04-10  9:09   ` Oscar Salvador
2024-04-08 19:42 ` [PATCH v2 02/11] mm/memory-failure: Pass addr to __add_to_kill() Matthew Wilcox (Oracle)
2024-04-08 22:32   ` Jane Chu
2024-04-10  9:11   ` Oscar Salvador
2024-04-08 19:42 ` [PATCH v2 03/11] mm: Return the address from page_mapped_in_vma() Matthew Wilcox (Oracle)
2024-04-08 22:38   ` Jane Chu
2024-04-10  9:38   ` Oscar Salvador
2024-04-11  2:56     ` Miaohe Lin
2024-04-11 17:37     ` Matthew Wilcox
2024-04-08 19:42 ` [PATCH v2 04/11] mm: Make page_mapped_in_vma conditional on CONFIG_MEMORY_FAILURE Matthew Wilcox (Oracle)
2024-04-08 22:45   ` Jane Chu
2024-04-08 22:52     ` Matthew Wilcox
2024-04-09  6:35       ` Jane Chu
2024-04-10  9:39   ` Oscar Salvador
2024-04-08 19:42 ` [PATCH v2 05/11] mm/memory-failure: Convert shake_page() to shake_folio() Matthew Wilcox (Oracle)
2024-04-08 22:53   ` Jane Chu
2024-04-08 19:42 ` [PATCH v2 06/11] mm: Convert hugetlb_page_mapping_lock_write to folio Matthew Wilcox (Oracle)
2024-04-08 23:09   ` Jane Chu
2024-04-10  9:52   ` Oscar Salvador
2024-04-08 19:42 ` [PATCH v2 07/11] mm/memory-failure: Convert memory_failure() to use a folio Matthew Wilcox (Oracle)
2024-04-09  0:34   ` Jane Chu
2024-04-10 10:21     ` Oscar Salvador
2024-04-10 14:23       ` Matthew Wilcox
2024-04-10 15:30         ` Oscar Salvador
2024-04-10 23:15       ` Jane Chu
2024-04-11  1:27         ` Jane Chu
2024-04-11  1:51           ` Matthew Wilcox
2024-04-11  9:00             ` Miaohe Lin
2024-04-11 11:23               ` Oscar Salvador
2024-04-11 12:17                 ` Matthew Wilcox
2024-04-12 19:48               ` Matthew Wilcox
2024-04-12 22:09                 ` Oscar Salvador [this message]
2024-04-15 18:47                 ` Jane Chu
2024-04-16  9:13                 ` Miaohe Lin
2024-04-08 19:42 ` [PATCH v2 08/11] mm/memory-failure: Convert hwpoison_user_mappings to take " Matthew Wilcox (Oracle)
2024-04-09  6:15   ` Jane Chu
2024-04-08 19:42 ` [PATCH v2 09/11] mm/memory-failure: Add some folio conversions to unpoison_memory Matthew Wilcox (Oracle)
2024-04-09  6:17   ` Jane Chu
2024-04-08 19:42 ` [PATCH v2 10/11] mm/memory-failure: Use folio functions throughout collect_procs() Matthew Wilcox (Oracle)
2024-04-09  6:19   ` Jane Chu
2024-04-08 19:42 ` [PATCH v2 11/11] mm/memory-failure: Pass the folio to collect_procs_ksm() Matthew Wilcox (Oracle)
2024-04-09  6:27   ` Jane Chu
2024-04-09 12:11     ` Matthew Wilcox
2024-04-09 15:15       ` Jane Chu
2024-04-09  6:28 ` [PATCH v2 00/11] Some cleanups for memory-failure Jane Chu
2024-04-09 12:12   ` Matthew Wilcox

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=ZhmxMzfydzDhGDX7@localhost.localdomain \
    --to=osalvador@suse.de \
    --cc=jane.chu@oracle.com \
    --cc=linmiaohe@huawei.com \
    --cc=linux-mm@kvack.org \
    --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;
as well as URLs for NNTP newsgroup(s).