lkml.org 
[lkml]   [2022]   [Apr]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH 1/3] mm/memory-failure.c: avoid false-postive PageSwapCache test
    On Fri, Apr 8, 2022 at 1:52 AM David Hildenbrand <david@redhat.com> wrote:
    >
    > On 07.04.22 15:03, Miaohe Lin wrote:
    > > PageSwapCache is only reliable when PageAnon is true because PG_swapcache
    > > serves as PG_owner_priv_1 which can be used by fs if it's pagecache page.
    > > So we should test PageAnon to distinguish pagecache page from swapcache
    > > page to avoid false-postive PageSwapCache test.
    >
    > Well, that's not quite correct. Just because a page is PageAnon()
    > doesn't mean that it's in the swapache. It means that it might be in the
    > swapcache but cannot be in the pagecache.
    >
    > Maybe you wanted to say
    >
    > "So we should test PageAnon() to distinguish pagecache pages from
    > anonymous pages."

    Yeah, I agree. The patch looks fine to me with David's comment addressed.

    >
    > >
    > > Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
    > > ---
    > > mm/memory-failure.c | 2 +-
    > > 1 file changed, 1 insertion(+), 1 deletion(-)
    > >
    > > diff --git a/mm/memory-failure.c b/mm/memory-failure.c
    > > index ef402b490663..2e97302d62e4 100644
    > > --- a/mm/memory-failure.c
    > > +++ b/mm/memory-failure.c
    > > @@ -2262,7 +2262,7 @@ static int __soft_offline_page(struct page *page)
    > > return 0;
    > > }
    > >
    > > - if (!PageHuge(page) && PageLRU(page) && !PageSwapCache(page))
    > > + if (!PageHuge(page) && PageLRU(page) && !PageAnon(page))
    > > /*
    > > * Try to invalidate first. This should work for
    > > * non dirty unmapped page cache pages.
    >
    >
    > --
    > Thanks,
    >
    > David / dhildenb
    >
    >

    \
     
     \ /
      Last update: 2022-04-08 19:33    [W:7.718 / U:0.088 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site