From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=INCLUDES_PATCH, MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DEEDBC43331 for ; Tue, 31 Mar 2020 09:41:12 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 843392072E for ; Tue, 31 Mar 2020 09:41:12 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 843392072E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id E272F6B0032; Tue, 31 Mar 2020 05:41:11 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id DAF226B0037; Tue, 31 Mar 2020 05:41:11 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C9ED66B006C; Tue, 31 Mar 2020 05:41:11 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0200.hostedemail.com [216.40.44.200]) by kanga.kvack.org (Postfix) with ESMTP id AF93C6B0032 for ; Tue, 31 Mar 2020 05:41:11 -0400 (EDT) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 7C158DB39 for ; Tue, 31 Mar 2020 09:41:11 +0000 (UTC) X-FDA: 76655163942.19.sun44_61ad9660c4004 X-HE-Tag: sun44_61ad9660c4004 X-Filterd-Recvd-Size: 4809 Received: from mail-wr1-f66.google.com (mail-wr1-f66.google.com [209.85.221.66]) by imf11.hostedemail.com (Postfix) with ESMTP for ; Tue, 31 Mar 2020 09:41:11 +0000 (UTC) Received: by mail-wr1-f66.google.com with SMTP id a25so25093224wrd.0 for ; Tue, 31 Mar 2020 02:41:11 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=58+/5NefjfDBA450NHbW1G0QGlQpuiB5cRHa0KqFj8g=; b=t1GiC3lTISR2ZCFxGUTxdr/MMkjaF/DjWtpZfddFhM5JN0jjxTDLsDPZnb6h0dOxJg 0/DkXBiP8ACLoEz1+b0mcLLCZgqI5a28+zToJb3roCMEAeJ7u7fB3yxuQhmrpM8pmjUv 4youVJiipav949Zssc3NellQugOSN3msaOnFuPf0qu03YKlGb1/R9ek1SxbVQok3YQPF eDXZlgbtIocZZGLgYVnJ2lQd2U0j2A4kwYtOoLcCPXPILJUvukEP2be+AIh2eu8GwlZh LRy32DYo//FOTcOPv3aHg3fkBT5UjIJnRi2R+vf8LIL0EP2NO1Ig7BwTmWrQIEXulNJZ GsiQ== X-Gm-Message-State: ANhLgQ0pFn7FV29Budsk2nSJtzK9RVHdyj7IrG8g6PAiMiznmaYWN+H9 7bj9G65dJyDlbBUkSa7cvRk= X-Google-Smtp-Source: ADFU+vvgYTuzWYwgm9i/rfopy7dePe+nM0xOhiNp0/W8VGm5/5vTnOxv2BssE1te4n4opGUCZo/l1g== X-Received: by 2002:a5d:4f08:: with SMTP id c8mr19950428wru.27.1585647670072; Tue, 31 Mar 2020 02:41:10 -0700 (PDT) Received: from localhost (ip-37-188-180-223.eurotel.cz. [37.188.180.223]) by smtp.gmail.com with ESMTPSA id r5sm3188023wmr.15.2020.03.31.02.41.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Mar 2020 02:41:09 -0700 (PDT) Date: Tue, 31 Mar 2020 11:41:08 +0200 From: Michal Hocko To: "Huang, Ying" Cc: Andrew Morton , linux-mm@kvack.org, linux-kernel@vger.kernel.org, Minchan Kim , Hugh Dickins , Rik van Riel Subject: Re: [PATCH] mm, trivial: Simplify swap related code in try_to_unmap_one() Message-ID: <20200331094108.GF30449@dhcp22.suse.cz> References: <20200331084613.1258555-1-ying.huang@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200331084613.1258555-1-ying.huang@intel.com> X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On Tue 31-03-20 16:46:13, Huang, Ying wrote: > From: Huang Ying > > Because PageSwapCache() will always return false if PageSwapBacked() returns > false, and PageSwapBacked() will be check for MADV_FREE pages in > try_to_unmap_one(). The swap related code in try_to_unmap_one() can be > simplified to improve the readability. My understanding is that this is a sanity check to let us know if something breaks. Do we really want to get rid of it? Maybe it is not really useful but if that is the case then the changelog should reflect this fact. > Signed-off-by: "Huang, Ying" > Cc: Michal Hocko > Cc: Minchan Kim > Cc: Hugh Dickins > Cc: Rik van Riel > --- > mm/rmap.c | 27 ++++++++++++++------------- > 1 file changed, 14 insertions(+), 13 deletions(-) > > diff --git a/mm/rmap.c b/mm/rmap.c > index 2126fd4a254b..cd3c406aeac7 100644 > --- a/mm/rmap.c > +++ b/mm/rmap.c > @@ -1613,19 +1613,6 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma, > } else if (PageAnon(page)) { > swp_entry_t entry = { .val = page_private(subpage) }; > pte_t swp_pte; > - /* > - * Store the swap location in the pte. > - * See handle_pte_fault() ... > - */ > - if (unlikely(PageSwapBacked(page) != PageSwapCache(page))) { > - WARN_ON_ONCE(1); > - ret = false; > - /* We have to invalidate as we cleared the pte */ > - mmu_notifier_invalidate_range(mm, address, > - address + PAGE_SIZE); > - page_vma_mapped_walk_done(&pvmw); > - break; > - } > > /* MADV_FREE page check */ > if (!PageSwapBacked(page)) { > @@ -1648,6 +1635,20 @@ static bool try_to_unmap_one(struct page *page, struct vm_area_struct *vma, > break; > } > > + /* > + * Store the swap location in the pte. > + * See handle_pte_fault() ... > + */ > + if (unlikely(!PageSwapCache(page))) { > + WARN_ON_ONCE(1); > + ret = false; > + /* We have to invalidate as we cleared the pte */ > + mmu_notifier_invalidate_range(mm, address, > + address + PAGE_SIZE); > + page_vma_mapped_walk_done(&pvmw); > + break; > + } > + > if (swap_duplicate(entry) < 0) { > set_pte_at(mm, address, pvmw.pte, pteval); > ret = false; > -- > 2.25.0 -- Michal Hocko SUSE Labs