Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Re: [PATCH v2 4/5] mm/memory-failure: move hwpoison_filter() higher up | From | Miaohe Lin <> | Date | Sat, 11 May 2024 16:29:03 +0800 |
| |
On 2024/5/10 14:26, Jane Chu wrote: > Move hwpoison_filter() higher up as there is no need to spend a lot > cycles only to find out later that the page is supposed to be skipped > for hwpoison handling. > > Signed-off-by: Jane Chu <jane.chu@oracle.com> > --- > mm/memory-failure.c | 15 +++++++-------- > 1 file changed, 7 insertions(+), 8 deletions(-) > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c > index 62133c10fb51..2fa884d8b5a3 100644 > --- a/mm/memory-failure.c > +++ b/mm/memory-failure.c > @@ -2236,6 +2236,13 @@ int memory_failure(unsigned long pfn, int flags) > goto unlock_mutex; > } > > + if (hwpoison_filter(p)) { > + if (flags & MF_COUNT_INCREASED) > + put_page(p); > + res = -EOPNOTSUPP; > + goto unlock_mutex; > + }
It might not be a good idea to do hwpoison_filter() here. We don't hold extra page refcnt yet, so the page state will be really unstable. Or am I miss something? Thanks. .
| ![\](/images/icornerr.gif) |